找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 php教程 查看内容

phpsetcookie值为null或空字符串删除cookie解析

作者:模板之家 2014-6-18 09:01 6947人关注

很多朋友在使用setcookie设置值为空或NULL时系统会自动把cookie给删除掉,下面我来给大家分析cookie值为null或空字符串删除cookie原因吧,有,phpsetcookie值为null或空字符串删除cookie解析

很多朋友在使用setcookie设置值为空或NULL时系统会自动把cookie给删除掉,下面我来给大家分析cookie值为null或空字符串删除cookie原因吧,有需要学习的朋友可参考,官方文档中也是这样写的:

setcookie() delete example

  1. // set the expiration date to one hour ago 
  2. setcookie ("TestCookie""", time() - 3600); 
  3. setcookie ("TestCookie""", time() - 3600, "/~rasmus/""example.com", 1); 
  4. ?> 

今天遇到一件奇怪的事,在setcookie的时候,传了一个空字符串给$value,结果竟然是此cookie被删除了…代码如下:

  1. $name = "post_url"
  2. $value =  ""
  3. setcookie($name$value,  time()+60*60*3, "/" ); 

去翻php 5.4.13 的源码结果得知,参数中的value在C语言中的类型是char *,还有一个 value_len标明了它的长度,如果value_len为0的话,就写了下面的cookie:

值为”deleted”, 过期时间为 Thu, 01-Jan-1970 08:00:01 CST 或者说是 Thu, 01-Jan-1970 00:00:01 GMT,看来setcookie($name, “”) 确实可以删除这个cookie了…

同理,在php中,strval(NULL) === “” , 所以 setcookie($name, NULL) 也就相当于 setcookie($name, “”),同样可以删除此cookie.


路过

雷人

握手

鲜花

鸡蛋
原作者: 互联网 来自: 网络收集

全部回复(0)