PHP Cookie的用法

Cookie管理

Cookie是一种在客户浏览器端存储数据并跟踪和识别用户的机制。Cookie是服务器留在用户计算机中的文本文件,并被WEB浏览器读取。当用户再次访问该WEB网站时,网站通过读取Cookie文件记录这位用户的信息,从而做出响应。

创建Cookie

Cookie是HTTP投标的组成部分,因此setCookie()函数必须在其他信息被输出到浏览器前调用。

在PHP中通过setCookie()函数创建Cookie。

语法格式:

setcookie(name,value,expire,path,demain,secure)

 例子:Cookie的有效时间为60秒,在Cookie失效后,Cookie文件自动删除。如果时间被忽视,cookie 将会在会话结束后(浏览器关闭)失效。

<?php 
    setcookie("abc",$value,time()+60,"/tm",".baidu.com");
?>

 注:在setCookie()函数前不能有任何HTML、空格、空行输出。

   setcookie() 函数必须位于 <html> 标签之前。

   在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() 取而代之)。

读取Cookie

在PHP中通过超级全局数组$_COOKIE[]读取浏览器端的Cookie值。

使用print_r()函数读取Cookie变量:

<?php 

  echo $_COOKIE["abc"];

  print_r($_COOKIE);

?>

注:SetCookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面在过期之前才可以看到Cookie值。

  由于 cookie 信息存储于用户的计算机中,那么就有可能伪造或修改 cookie 从而造成 cookie 欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可。

  Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!

删除Cookie

Cookie被创建后,若没有设置失效时间,在关闭浏览器时Cookie文件也会被自动删除。若想要在关闭浏览器之前删除Cookie文件,则可以使用setcookie()函数删除。

使用setcookie()函数删除Cookie

用setcookie()函数删除Cookie,只要把setcookie()函数中的第二个参数设置为空值,将第三个参数Cookie的失效时间设置为小于系统的当前时间。

setcookie("abc","",time()-1);

 time()函数把当前时间减少1秒得到过去的时间从而删除Cookie。

注:把失效时间设置为0,也可以直接删除Cookie。

原文地址:https://www.cnblogs.com/xu2shuang97664/p/4910710.html