PHP session 變數用於儲存有關使用者會話的資訊,或更改使用者會話的設定。Session 變數儲存的資訊是單一使用者的,並且可供應用程式中的所有頁面使用。
理解:session用於單一使用者與伺服器的互動,每個使用者的session都是不一樣的。session作為全域變數,在瀏覽器開戶期間所有頁面內有效。
Session 的工作機制是:為每個訪問者建立一個唯一的 id (UID),並基於這個 UID 來儲存變數。UID 儲存在 cookie 中,亦或通過 URL 進行傳導。
在把使用者資訊儲存到 PHP session 中之前,首先必須啟動會話。
注釋:session_start() 函數必須位於 標籤之前
可用於方便地頁面間互動,可以把數組放入session。比POST好用,就怕seesion太多會不會影響效能啊?
如果您希望刪除某些 session 資料,可以使用 unset() 或 session_destroy() 函數。
unset() 函數用於釋放指定的 session 變數;session_destroy() 函數徹底終結 session。
**********************************************************************************
cookie 常用於識別使用者。cookie 是伺服器留在使用者電腦中的小檔案。每當相同的電腦通過瀏覽器請求頁面時,它同時會發送 cookie。通過 PHP,您能夠建立並取回 cookie 的值。
理解:cookie儲存在使用者電腦中,用於儲存使用者資訊更方便。
文法:setcookie(name, value, expire, path, domain);
例:setcookie("user", "Alex Porter", time()+3600); //看樣子,是給Alex一小時的時間,後面時間參數是到期日
echo $_COOKIE["user"];
注釋:在發送 cookie 時,cookie 的值會自動進行 URL 編碼,在取回時進行自動解碼
當刪除 cookie 時,您應當使到期日期變更為過去的時間點。
setcookie("user", "", time()-3600);