11 1 PHP會話控制cookie

2021-09-10 09:16:07 字數 1370 閱讀 5398

為什麼要用cookie和session?

訪問乙個web頁面需要使用http協議實現,但http協議是無狀態協議,就是說http沒有乙個內聯機制來維護

兩個事物之間的狀態,當使用者請求乙個頁面之後再請求同乙個**的另乙個頁面的時候http協議並不知道這兩次

cookie

cookie是將**的資料記錄在客戶端(使用者的電腦)的技術, 當使用者成功登入**後

他的資訊會被儲存在客戶端然後實現訪問同乙個**(請伺服器請求發出請求)無需再輸入個人資訊的操作

1)向客戶端電腦中設定cookie:

setcookie();

setcookie('name','羅蘋房',time()+3600);
設定了setcookie()之後再訪問這個**的別的頁面時都預設攜帶了使用者的資訊,有效時間為1個小時

比如說可以用下面的$_cookie變數獲取到儲存的使用者資訊

2)在伺服器端讀取cookie的內容:

$_cookie;

3)將多維陣列應用於cookie中:

setcookie("member[name]", 'robin');

setcookie("member[email]", '[email protected]')

setcookie("member[name]",'羅蘋房',time()+3600);

setcookie("member[email]",'[email protected]',time()+3600);

4)刪除cookie:

setcookie("member",' ',time( )-1);

二維陣列的cookie刪除方式如下:

//乙個個刪除cookie資訊

var_dump(setcookie("member[name]",'',time()-3600));

var_dump(setcookie("member[email]",'',time()-3600));

//一次刪除多個cookie資訊

foreach ($_cookie['member'] as $key=>$val)]",'',time()-3600));

}

注意點:

使用setcookie刪除cookie的時候,需要與當初設定cookie的時候引數一致!

不同瀏覽器獲識別使用者cookie id是不同的

//設定隨機cookie資訊

$id=uniqid(rand(1000,9999).'_');

setcookie('id',$id,time()+3600);

PHP會話控制

簡述 http協議是無狀態的。那個瀏覽器如何區分每個使用者呢?php會話控制會給每乙個使用者一把鑰匙 加密的session id 同時這個也是使用者的乙個標識,伺服器端存放這把鑰匙的所有資訊 資料庫 檔案 記憶體資料庫 那麼這把鑰匙放到那呢?兩種方法 1是存在每個url中 2是存在會話中,也就是常說...

PHP會話控制

區別 a 存放位置不一樣 b 安全級別不同 因為cookie是存放到客戶端上,所以cookie內容可以被修改。相對cookie是不安全。不建議將一些敏感資訊存放到cookie中。c 大小不一樣 單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie。理論上認為se...

php 會話控制

會話控制 http 協議是 無狀態的協議 無狀態 http協議不能告訴我們多個請求是否來自同乙個客戶端 會話控制 允許伺服器跟蹤同乙個客戶端做出的連續請求 cookie 儲存在客戶端 session 儲存在服務端 設定cookie setcookie cookie名 cookie值 有效日期,路徑,...