什么是 Cookie?
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
Cookie 的基本工作原理
如果用户再次访问站点上的页面,浏览器就会在本地硬盘上查找与该 URL 相关联的 Cookie。如果该 Cookie 存在,浏览器就将它与页面请求一起发送到您的站点。
Cookie 的用途
Cookie 能够帮助Web站点保存有关访问者的信息。更概括地说,Cookie 是一种保持Web 应用程序连续性的方法。使Web站点能记住用户,常用于身份识别。
第一步:创建 cookie?
PHP中使用 setcookie() 函数用于设置cookie,该函数的格式如下:
setcookie(name, value, expire);
这里主要用到3个参数
name——cookie名字
value——cookie的值
expire——cookie有效期
下面是一个例子
setcookie("user", "Kevin", time()+3600);
解释:创建一个名字为user的cookie,该cookie的值为Kevin,有效期为从一个小时,注意:如果不设置时间,就不会保存到cookie文件中。浏览器不关时能够访问。一旦浏览器关闭就无法访问。
第二步:如何取回 Cookie 的值?
PHP使用$_COOKIE 变量用于取回 cookie 的值,格式如下:
$_COOKIE[name];
在下面的例子中,我们取回了名为 "user" 的 cookie 的值Kevin,并把它显示在了页面上:
$username=$_COOKIE['user'];
取值的时候,一般会先判断是否为空,再进行取值操作。上面的代码并不严谨,严谨的代码应该这样写:
if (!empty($_COOKIE['user'])){
$username=$_COOKIE['user'];
}
第三步:删除 cookie?
当删除 cookie时,可以有多种方法,可以使有效期日期变更为过去的某个时间点,直接设置cookie值为空字符串,或者直接将cookie置为NULL。
删除的例子:
setcookie($cookieName,value,time()-秒数);
setcookie($cookiename, '');
setcookie($cookiename, NULL);
删除前面添加的名字为user的cookie值
setcookie("user", NULL);
删除所有cookie
有的时候,可能需要清空所有cookie,这时候不必一个一个的删除,可以通过一个foreach遍历cookie,删除所有的cookie,代码如下:
foreach($_COOKIE as $key=>$val){
setcookie($key,"",time()-100);
}