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