一、瞭解Session
Session從使用者訪問頁面開始,到斷開與網站串連為止,形成Session的生命週期。使用者每一次串連時,PHP都會自動產生一個唯一的SessionID以標識目前使用者,與其他使用者進行區分。
在會話期間,PHP預設產生名為PHPSESSIONID的標識(該名稱可以在php.ini檔案中更改),它伴隨每一個頁面被送往瀏覽器,然後隨下一次頁面請求返回給Web伺服器。
SessionID可以作為會話資訊儲存到資料庫中,作為主鍵(Primary Key)來區分不同的使用者,或作為伺服器端的會話檔案名稱中的唯一字串。
Session會話時,SessionID會分別儲存在用戶端和伺服器端兩個位置。在用戶端,使用臨時的Cookie儲存在瀏覽器指定目錄中(成為Session Cookie);在伺服器端,以文字檔形式儲存在指定的Session目錄中。
二、啟動Session
session_register()函數用來為會話登入一個變數來隱含地啟動會話,但要求php.ini檔案的選項,將register_globals指令設定為’on’,重啟Apache伺服器。
三、應用Session
四、刪除Session
刪除單個會話
刪除會話變數,同數組的操作一樣,直接登出$_SESSION數組的某個元素即可。
unset($_SESSION[‘what’]);
刪除多個會話
要一次登出所有的會話變數,可以將一個空數組賦值給$_SESSION
$_SESSION = array();
結束當前會話
如果整個會話已經結束,首先應該登出所有的會話變數,然後使用session_destroy()函數清除當前的會話,並清空會話中的所有資源,徹底銷毀Session。
session_destroy();
五、Session應用
六、Cookie與Session比較
最大的區別是:
- Session是將資訊儲存在伺服器上,並通過一個Session ID來傳遞用戶端資訊,伺服器在接收到Session ID後根據這個ID來提供相關打的Session資訊資源;
- Cookie是將所有的資訊以文字檔的形勢儲存在用戶端,並由瀏覽器進行管理和維護。
- Session在伺服器儲存,用戶端使用者無法修改Session檔案內容。Cookie為用戶端儲存,Session要比Cookie安全得多。
以上就介紹了PHP會話管理_Session會話,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。