Session 與 Cookie 各有其優點與缺點,建議可以兩者一起搭配使用,一方面把非必要性的資料用 Cookie 處理,可以節省伺服器的負荷,另一方面把必要性的資料用 session 處理,可以增加網站的安全性,以下就分享 Session 的應用與流程。
一、啟用 Session
Session 與 Cookie 一樣都是要啟用的,啟用 session 請使用 session_start() 函數,而且必須放在程式的最開頭,還沒輸出任何東西之前,否則會出錯唷!就像下方範例這樣。
<?php session_start(); ?>
<html>
<body> ......something </body>
</html>
<html>
<body> ......something </body>
</html>
二、設定 session 的變數值
設定 session 的變數值很簡單,直接給値就可以了,用法就像 $_SESSION[' 變數 '] = 値。
<?php
session_start();
$_SESSION['UserName']='Jordan';
?>
在此範例中,我們設定了一個變數 UserName 的値是 Jordan,你可以解讀為會員名稱是 Jordan。session_start();
$_SESSION['UserName']='Jordan';
?>
三、讀取 session 並輸出於網頁
在上一個步驟,我們設定好了 UserName 的値,接著以下範例要將這個值輸出到網頁上。
<?php
session_start();
echo $_SESSION['UserName'];
?>
以上範例輸出結果就是「Jordan」這樣。session_start();
echo $_SESSION['UserName'];
?>
四、刪除 session
還記得前面說的 session 是儲存在伺服器端的檔案嗎?如果這樣的檔案太多的話,可能會影響到伺服器的效能,所以沒有用到或是已經使用完的 session(例如會員已經登出),建議把 session 刪除,釋放出主機的資源。
兩種刪除 php session 的方法
- unset($_SESSION['變數名稱']);
- session_destroy();
延伸閱讀