會話控制

Cookie存儲於客戶端,Session存儲於服務端。
Cookie有大小和時間和數量限制,Session可以自己設置。

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一般用於後臺登錄,因爲用戶少。而且安全性較高。

發佈了53 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章