PHP Session 使用範例說明
PHP Session 使用範例說明
資料來源:http://www.wibibi.com/info.php?tid=135
PHP Session 的功能與 Cookie 很類似,不同的地方在於 session 是儲存在伺服器端的檔案,在 PHP3(含)以前的版本,可是沒有 session 可以用的唷!感謝 PHP 研發團隊的努力,因為 session 確實改善了許多以往 cookie 容易產生的安全性問題,整體而言,使用 session 是比使用 Cookie 來得安全許多,但相對的伺服器的負荷會比較大就是了。
Session 與 Cookie 各有其優點與缺點,建議可以兩者一起搭配使用,一方面把非必要性的資料用 Cookie 處理,可以節省伺服器的負荷,另一方面把必要性的資料用 session 處理,可以增加網站的安全性,以下就分享 Session 的應用與流程。
一、啟用 Session
Session 與 Cookie 一樣都是要啟用的,啟用 session 請使用 session_start() 函數,而且必須放在程式的最開頭,還沒輸出任何東西之前,否則會出錯唷!就像下方範例這樣。
<?php session_start(); ?>
<html>
<body> ……something </body>
</html>
二、設定 session 的變數值
設定 session 的變數值很簡單,直接給値就可以了,用法就像 $_SESSION[‘ 變數 ‘] = 値。
<?php
session_start();
$_SESSION[‘UserName’]=’Jordan’;
?>
在此範例中,我們設定了一個變數 UserName 的値是 Jordan,你可以解讀為會員名稱是 Jordan。
三、讀取 session 並輸出於網頁
在上一個步驟,我們設定好了 UserName 的値,接著以下範例要將這個值輸出到網頁上。
<?php
session_start();
echo $_SESSION[‘UserName’];
?>
以上範例輸出結果就是「Jordan」這樣。
四、刪除 session
還記得前面說的 session 是儲存在伺服器端的檔案嗎?如果這樣的檔案太多的話,可能會影響到伺服器的效能,所以沒有用到或是已經使用完的 session(例如會員已經登出),建議把 session 刪除,釋放出主機的資源。
兩種刪除 php session 的方法
- unset($_SESSION[‘變數名稱‘]);
- session_destroy();
第一種方法只會刪除單一的 session,第二種方法則會把所有的 session 刪除,使用上需謹慎。