PHP Session 教學

作者 Kelvin Huang

Session 是一種在伺服器端儲存與管理用戶狀態的技術,通常用於網站的登入系統、購物車、訪客計數器等。

使用 Session 的過程,伺服器會為每個用戶分配一個唯一的 Session ID,並將用戶的狀態資訊儲存於伺服器的記憶體或磁碟。

當用戶訪問網站時,網頁會向伺服器發送請求,伺服器會根據請求中的 Session ID 來查找該用戶的 Session 狀態資訊,如果 Session ID 是有效的且對應的狀態資訊存在,伺服器會將這些狀態資訊返回給網頁,網頁即可根據這些資訊顯示相應的內容。

Session 的主要優點是可以在伺服器端安全地儲存用戶狀態資訊,避免用戶竄改或者破壞資訊的風險。此外 Session 也可以避免在用戶端儲存重要資訊時可能產生的安全問題,例如使用 Cookie 儲存密碼等。

使用 Session 可先使用 session_start() 函數開啟 Session,然後使用 $_SESSION 陣列讀寫 Session 中的資料。

例如:

 

<?php
// 開啟 Session
session_start();

// 設置 Session 中的變數
$_SESSION['username'] = 'Kelvin';

// 讀取 Session 中的變數
echo "使用者名稱:" . $_SESSION['username'];
?>

 

上述程式碼先使用 session_start() 函數開啟 Session,然後設置一個名為 username 的 Session 變數並賦值為 Kelvin。

最後,我們使用 $_SESSION['username'] 讀取 Session 變數並在網頁上顯示。