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);
    }
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章