PHP中Cookie的使用---添加/更新/刪除/獲取Cookie 及 自動填寫該用戶的用戶名和密碼和判斷是否第一次登陸
什么是cookie
服務器在客戶端保存用戶的信息,比如登錄名,密碼等
這些數據就像小甜餅一樣,數據量並不大,服務器端在需要的時候可以從客戶端讀取,保存在客戶端的瀏覽器緩存目錄下
① 當瀏覽器訪問,cookie.php時,服務器還以Set-Cookie:name=zxf;expire=Wed,21-Sep-2017 20:14 GMT會送http響應,當瀏覽器獲取到該消息后,就會保存該cookie的信息到本地磁盤
② 如果我們沒有時間(第三個參數)
cookie不會保存到客戶端,當瀏覽器會話結束,cookie會失效
③ cookie保存的是字符串信息
④ 客戶端可以保存多個key=>val
⑤ cookie在保存過程中,會對中文進行urlencode編碼
cookie可以有多個key=>val,可以給不同的鍵值,制定不同的有效時間
代碼如下:xx.php
<?php //添加cookie setcookie("name","zxf",time()+3600); //數組 /$arr = array(1,2,3); $arr_str = serialize($arr); setcookie("a",$arr_str,time()+3600); //獲取cookie var_dump($_COOKIE); //更新cookie setcookie("name","aaa",time()+3600); //刪除cookie setcookie("name","",time()-20); //刪除所有 foreach ($_COOKIE as $key => $value) { setcookie($key,"",time()-1); } echo "成功"; ?>
如果你刪除的cookie的key=>val沒有刪除完,則這個cookie在客戶端保留,如果把這個網站的cookie都刪除的,則瀏覽器會把cookie文件刪除
判斷是否第一次登陸
<?php //先判斷cookie里是否有上次的登錄信息 if(!empty($_COOKIE[‘lastVisit'])){ echo “你上次登陸的時間是”.$_COOKIE[‘lastViat']; //更新時間 setcookie(“lastVisit”,”data(Y-m-d H:i:s)”, time()+3600); }else{ //說明用戶是第一次登陸 echo”第一次登陸”; //更新時間 setcookie(“lastViait”,”data(“Y-m-d H:i:s”)”, time()+3600); } ?>
打開登陸界面的時候,自動填寫該用戶的用戶名和密碼
checklogin.php
//獲取用戶是否選中了保存id if(!empty($_POST[‘cookie'])){ setcookie(“id”,$id,time()-100); }else{ if(!empty($_COOKIE[‘id'])){ setcookie(“id”,$id,time()-10); } }