一、什么是Cookies?
Cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。如果你的浏览器不支持Cookies,那就只好用表单传递数据了。
点击查看维基百科关于Cookies的解释。
二、创建Cookies
setcookie(name, value, expire, path, domain);
用于设置Cookie,必须位于 < html > 标签之前。
参数:
- name:设置Cookies的名字;
- value:Cookies的值,存储在客户机上,不要存放敏感信息,假定Cookies名为“cookiesname”则值为$_COOKIES[‘cookiesname’]。
- expire:Cookies的到期时间,这是一个时间戳(以秒为单位)。默认为会话结束(浏览器关闭)就到期。一般使用time()函数加上秒数,表示多少秒后到期。
- path:设置Cookies在服务器上的可用目录,默认为当前目录。
- domain:设置Cookies可用的域名。
返回值:
如果在调用这个函数之前有输出,将会返回false;如果函数正常执行将会返回true。这并不能表示用户是否接受Cookies。
注:
在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码。(为防止 URL 编码,请使用 setrawcookie() 取而代之。)
三、取回Cookies
$_COOKIES[‘cookiesname’]用于取回Cookies的值。在这之前最好用isset()函数判断是否设置了Cookies
四、删除Cookies
删除Cookies只需要用setcookie()函数,将参数中的expire设置为过去的时间即可。
五、Cookies的一个小测试
1. 新建1.php
<?php
setcookie("ip","192.168.1.1",time()+86400);
echo '已设置Cookies:ip';
?>
2. 新建2.php
<?php
if(isset($_COOKIE["ip"])){
echo '已取得Cookies:ip---->'.$_COOKIE['ip']."<br />";
setcookie("ip","",time()-300);
echo "已删除Cookies:ip.";
}
?>
3、打开浏览器输入:localhost/1.php
输出结果:
已设置Cookies:ip
4、关闭再打开浏览器,输入:localhost/2.php
输出结果:
已取得Cookies:ip---->192.168.1.1
已删除Cookies:ip.
5、在步骤4的基础上刷新页面
没有输出。