1. 程式人生 > >PHP的Session與Cookie

PHP的Session與Cookie

一、通過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);