PHP Session 使用範例說明

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 刪除,使用上需謹慎。

延伸閱讀
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012
PHP Smarty MySQL JQuery Apache W3C