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);
}
}
