Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php setcookie值为null或空字符串删除cookie解析

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

发布时间:2018-12-05   编辑:www.jquerycn.cn
jquery中文网为您提供php setcookie值为null或空字符串删除cookie解析等资源,欢迎您收藏本站,我们将为您提供最新的php setcookie值为null或空字符串删除cookie解析资源
很多朋友在使用setcookie设置值为空或NULL时系统会自动把cookie给删除掉,下面我来给大家分析cookie值为null或空字符串删除cookie原因吧,有需要学习的朋友可参考。
<script>ec(2);</script>

官方文档中也是这样写的:


#2 setcookie() delete example

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy1675')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1675>

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

</td> </tr> </table>

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

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy4621')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy4621>

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

</td> </tr> </table>

去翻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.

</td> </tr> </table>

您可能感兴趣的文章:
JavaScript静态页面间传递cookie的实现代码
javascript cookie操作方法解析
javascript操作cookie的小例子
jquery 删除cookie失效的解决方法
JavaScript操作Cookie实例
jquery.cookie() 方法的使用(读取、写入、删除)
php5中Cookie与Session用法
js操作cookie详解
使用jQuery操作Cookies的实现代码
jquery.cookie用法详细解析

[关闭]