Cookie存儲於客戶端,Session存儲於服務端。
Cookie有大小和時間和數量限制,Session可以自己設置。
Cookie
Cookie文件包含了用戶登錄信息,存儲於客戶端。
創建Cookie:setcookie()
//setcookie用於創建kookie
//參數一表示cookie名稱,參數二表示cookie名稱的值
setcookie('name','H');
默認情況下,會話結束時cookie就會消失。
創建包含過期時間的Cookie:
//過期時間採用當前時間戳+秒即可
//time()+(7*24*60*60)表示7天。
setcookie('name','H','time()+(7*24*60*60)');
可以簡寫爲:
setcookie('name','H','time()+(7*24*3600)');
讀取Cookie:使用超全局變量$_COOKIE
//
echo $_COOKIE['name'];
檢測是否設置Cookie:isset()
isset($_COOKIE['age']);
刪除Cookie:setcookie()
值設爲空
setcookie('name','');//即可
另一種方式:setcookie('name','H',time()-1);
Cookie每個瀏覽器最多數量爲30個,並且每個不能超過4KB,每個web站點能設置的總數不能超過20個。
Session
session需要開啓使用。
創建session
session_start()
;
<?php
session_start(); //首先開啓
$_SESSION['name'] = 'H';//直接賦值
echo $_SESSION['name'];
?>
session是不會有延遲生成的,而cookie會延遲生成。
由於session存放於服務端,所以當網頁無任何操作時會自動銷燬(避免資源消耗過大),網頁關閉時也會銷燬。
判斷是否存在:isset()
isset($_SESSION['name']);
刪除session:unset()
unset($_SESSION['name']);
批量刪除session:session_destroy()
session_destroy();
注意:
cookie適用於會員登錄、購物車…等等
因爲它不佔用服務器資源,在會員特別多,購物車也多的情況下使用cookie很適合。
session一般用於後臺登錄,因爲用戶少。而且安全性較高。