cookie增刪改查

Cookie是客戶端技術,服務器把每個用戶的數據以cookie的形式寫給用戶各自的瀏覽器。當用戶使用瀏覽器再去訪問服務器中的web資源時,就會帶着各自的數據去。這樣,web資源處理的就是用戶各自的數據了。

cookie初步介紹:
cookie是服務器在客戶端保存用戶的信息,數據量並不大,服務端在需要的時候可以從客戶端讀取,保存在客戶端的瀏覽器緩存目錄下。

語法:setcookie(name,val,expire)
cookie不能保存對象,只能保存字符串。

1.創建cookie信息

<?php
header("Content-type:text/html;charset=utf-8");
//演示如何創建cookie信息
//把用戶名和密碼保存到客戶端的cookie
//第一個參數表示cookie的一個key,第二個參數表示val,第三個參數表示cookie值在客戶端保存的時間。
setcookie("name","Tom",time()+7200);//當前時間+要保存的時間
setcookie("password","123456",time()+7200);//可以保存多個鍵值對
echo "sucess";
?>

2.獲取cookie信息

<?php
//在保存的時間內,獲取cookies全部信息
echo "<pre>";
print_r($_COOKIE);
echo "</pre>";
//獲取指定的key對應的值
$name=$_COOKIE['name'];
echo $name;
?>

cookie使用明文方式保存,比較危險。
cookie每一對鍵值的生命週期是可以不一樣的。

3.更新cookie信息
實際上就是重新設置 setCookie();

<?php
    //更新
setcookie("name","Sabrina",time()+30);
echo "把鍵name的值更新了";
?>

之前的name的值Tom變爲Sabrina。

4.刪除cookie信息

<?php
//指定刪除某一個鍵值對
//如果要刪除某個key,只需要把time()-秒數(多少秒都可以)
setcookie("name","",time()-10);
echo "指定刪除成功!";

//如何刪除所有的cookie
foreach($_COOKIE as $key=>$val){
    setcookie($key,"",time()-10);
}//遍歷刪除
echo "全部刪除成功!"
?>

若全部刪除,則cookie文件也被刪除。

5.例子:登錄信息

<?php
header("Content-type:text/html;charset=utf-8");
//首先看看cookie有沒有上次登錄信息
if(!empty($_COOKIE['lastVisit'])){
    echo "上次登錄時間是".$_COOKIE['lastVisit'];
    //更新時間
    setcookie("lastVisit",date("Y-m-d H:i:s"),time()+24*3600*7);
}
    else{
        //說明用戶是第一次登錄
        echo "歡迎您登錄!";
        setcookie("lastVisit",date("Y-m-d H:i:s"),time()+24*3600*7);
    }
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章