一.Cookie的定义
Cookie就是当你访问网页的时候,服务器客户端保存的用户登录的信息和一些浏览的等信息。这些就是Cookie。Cookie的
数据量不大,当在服务器需要的时候,就会自动从客户端进行提取。这些cookie被保存在客户端的缓存录下。
<?php
//利用一个函数来创建我们的Cookie.
//第一个参数代表键(key),第一个参数是值(val),第三个参数代表Cookie在客户段保存的时间
//时间用time()+秒数。是从当前时间开始算起
setcookie("name","xiaoxin",time()+600);
setcookie("name","小鑫",time()+300);
setcookie("age","21",time()+600);
?>
注释:1.客户端可以保存多个键值对key=>val,而且每个的有效时间可以不一样
2.客户端可以保存中文,此时会自动使用urlencode进行编码
3.当你使用cookie保存密码时候,最好用md5()函数编码。要不然密码就会被人家发现哦
4.当设置第二个或者第三个任意一个为null,cookie都不会被保存成功。
二.如何获取cookie的值
//利用$_COOKIE['键名']可以获取
<?php
//获取所有Cookie的信息
echo "<pre>";
print_r($_COOKIE);
echo "</pre>";
//获取单独的一个Cookie信息
$name=$_COOKIE['name'];
echo "姓名是:".$name;
?>
注释:1.当cookie的有效期一到,就不可以取出cookie了
2.这个过程是HTTP协议规定的
三.如何更新cookie
<?php
//更新其实就是利用setcookie()进行重置
//setcookie("name","xiaoxin",time()+600);
setcookie("name","A_xin",time()+600);
//此时它就会改变原来的xiaoxin为A_xin了。
?>
四.删除Cookie
<?php
//删除cookie的时候,就是把时间往后设置即可,即就是time()-秒数(此时这个秒数的大小没有限制)
//删除一个信息
setcookie("name","xiaoxin",time()-600);
//删除所有的即就是遍历一下数组而已
foreach($_COOKIE as $key=>$val)
{
setcookie("$key","",time()-30);
//此时即可全部删除
}
?>
注释:1.当你把所有的cookie删除完了,客户端会删除相应的文件。如果没有删除完,则会保存相应的文件。
五.应用
<?php
//利用一个cookie的技术实现登陆时间的显示
if(!empty($_COOKIE['lastvisit']))
{
echo "<font color='white'><b>您上次登陆的时间是</b></font>"."<font color='yellow'><b>".$_COOKIE['lastvisit']."</b></font>";
setCookie("lastvisit",date("Y-m-d H:i:s"),time()+30*24*3600);
}
else
{
echo "您好,您是第一次登陆本系统!";
}
?>
注释:
当你发现显示的时间和现实的时间不对时候,不要急,这是因为php默认的时区和我们的不一样而已。
liangzhong解决的方案:
1.在php.ini文件中寻找date.zonetime。如果有则设置date.zonetime=时区值。反之,自行添加date.zonetime=时区值;
2.在当前的php文件中添加date_default_timezone_set('时区值')解决