PHP的Session與Cookie
阿新 • • 發佈:2018-12-12
一、通過Session 和 Cookie 實現會話處理
1、HTTP協議是無狀態的 伺服器無法區分哪些請求來自哪些客戶端,或者客戶端是處於連線狀態還是斷開狀態 2、Session 在使用者訪問網頁與伺服器斷開連線的一個時間段內,Session可以跟蹤使用者的狀態 3、Cookie 是一個文字檔案,它位於客戶端,這個檔案裡面儲存了會話資訊
二、什麼是Session
1、Session 是一種會話,它記錄會話資訊,使得客戶端與服務端的會話得以保持 2、建立一個會話 $_SESSION[‘name’] = ‘wuhenzhiyi’
三、Session的常用函式
1、Session的建立 session_start() 意味著一個會話的開始
2、Session的銷燬 session_unset() 刪除指定一個會話 session_destroy() 刪除整個會話
//開啟一個會話
session_start();
//建立一個會話
$_SESSION['name'] = 'wuhenzhiyi';
//訪問一個會話
echo $_SESSION['name'];//輸出 wuhen
//刪除指定的會話
session_unset($_SESSION['name']);
//刪除全部會話
session_destroy();
四、什麼是Cookie
1、Cookie是網站區分不同訪問者的身份而儲存在客戶端上的資料,是一個文字檔案。
五、Cookie的工作機制
1、當客戶端初次請求伺服器的時候,服務端有設定Cookie的語句,伺服器通過隨著響應傳送一個HTTP的Set-Cookie,在客戶端設定一個Cookie檔案 2、客戶端再次向伺服器端傳送一個HTTP請求的時候,瀏覽器會把本地儲存該請求地址的Cookie資訊傳送到伺服器,伺服器會自動讀取。
六、Cookie的建立與銷燬
1、setcookie() 建立一個cookie 2、setcookie()函式和header()函式一樣,也是作為響應頭header的一部分發送 3、所以呼叫該函式之前,不能有任何輸出 4、因為Cookie是隨標頭一起傳送的,所以當我們設定Cookie後,它在本頁是不會生效的。 5、cookie的刪除 將其值設定為空,或設定有效期是過去的時間
//建立一個cookie
//設定一個有效期為7天的cookie
setcookie('name','wuhenzhiyi',time()+60*24*7);
//訪問一個cookie
echo $_COOKIE['name'];
//刪除cookie
setcookie('name','');
//或者設定過期時間為過去的時間
setcookie('name','',time()-1);