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

你可能感兴趣的:(服务器,缓存,cookie)