Cookie是用戶端技術,伺服器把每個使用者的資料以cookie的形式寫給使用者各自的瀏覽器。當使用者使用瀏覽器再次訪問伺服器的WEB資源時,就會帶著各自的資料去,這樣,WEB資源處理的就是使用者各自的資料了。
1、建立一個Cookie(在伺服器端建立的)
<?php //把使用者名稱和密碼儲存到用戶端的cookie //setCookie 函數來實現 第一個參數表示cookie的key,第二個參數表示val,第三個參數是cookie的值,代表在用戶端儲存的時間,按秒計算 setCookie("name","xiaoming",time()+3600); setCookie("password","123456",time()+300); setcookie("adress","北京",time()+300); setcookie("hobby","運動",time()+30); //echo date("y-m-d h:i:s",time()); echo "儲存成功";?>
要點說明:
- 當瀏覽器訪問該頁面(test.php)的時候,伺服器就會以Set-Cookie: name=xiaoming; expires=Mon, 06-May-2013 08:14:39 GMT 回送http響應,(測試瀏覽器IE)當瀏覽器擷取到該資訊後,就會儲存該cookie的資訊到原生C:\Documents and Settings\Administrator\Cookies 目錄下
- 如果沒有設定時間 cookie不會儲存到用戶端,當瀏覽器的會話結束,cookie就會失效
- cookie儲存的資訊實際上就是字串
- 用戶端可以儲存多個 索引值對
- cookie也可以儲存中文,預設將會對中文進行urlencode進行編碼
- cookie可以有多個鍵-值對,可以給不同的索引值對設定有效時間
測試:
<?php echo "<pre>"; print_r($_COOKIE); echo "</pre>"; //擷取指定key 對應的值 if(!empty($_COOKIE['name'])){ $name=$_COOKIE['name']; echo "name=".$name; }else{ echo "沒有了"; } //echo urldecode("%E5%8C%97%E4%BA%AC"); ?>
2、更新cookie
<?php //更新cookie //更新address setCookie("address","shanghai",time()+300); echo "更新鍵address的值成功";?>
3、刪除cookie
<?php //刪除cookie 中的某個key 只有把 time()-秒數 就OK // setCookie("password","",time()-1); // echo "刪除成功"; //刪除所有cookie 瀏覽器就會把cookie檔案也刪除掉了 foreach ($_COOKIE as $key=>$val){ setcookie($key,"",time()-100); } echo "刪除成功";?>