你可以这么测一下
首先建一个a.php
<?php
setcookie("TestCookids","ab",time()+60,'/');
if (isset($_COOKIE["TestCookids"]))
{
echo "ok";
}
else
{
echo "no";
}
//setcookie ("TestCookids", "", time() - 5);?>
之后,还是在a.php下
<?php
//setcookie("TestCookids","ab",time()+60,'/');
if (isset($_COOKIE["TestCookids"]))
{
echo "ok";
}
else
{
echo "no";
}
setcookie ("TestCookids", "", time() - 5);?>
刷新一下看看,会有什么结果。
首先建一个a.php
<?php
setcookie("TestCookids","ab",time()+60,'/');
if (isset($_COOKIE["TestCookids"]))
{
echo "ok";
}
else
{
echo "no";
}
//setcookie ("TestCookids", "", time() - 5);?>
之后,还是在a.php下
<?php
//setcookie("TestCookids","ab",time()+60,'/');
if (isset($_COOKIE["TestCookids"]))
{
echo "ok";
}
else
{
echo "no";
}
setcookie ("TestCookids", "", time() - 5);?>
刷新一下看看,会有什么结果。
附空值,并不是附布尔值
并没有出现我上面的问题了,补充:
在php中删除Cookie两种方式:
1、
保存Cookie:SetCookie("sid", $user_id, time()+ (365 * 24 * 60 * 60),'/');
删除Cookie:SetCookie("sid", false, time()+ (365 * 24 * 60 * 60),'/');
说明:采用同保存相同的参数,除了第2个参数修改为false,此时会彻底删除客户端cookie文件中对应的信息2、
保存Cookie:SetCookie("sid", $user_id, time()+ (365 * 24 * 60 * 60),'/');
删除Cookie:SetCookie("sid", $user_id, time()- (365 * 24 * 60 * 60),'/');
说明:此方法是采用使cookie过期的方式,cookie过期后,客户端cookie文件中的sid仍然存在,但是其值为空;综上,在php中操作cookie时最好使用下面的方式:
if(isset($_COOKIE["sid"]) && !empty($_COOKIE["sid"])){
// 这样可以保证Cookie存在且在有效期内
......
}以上结论我做过验证,完全通过,谢谢大家的支持!!
删除Cookie:SetCookie("sid", $user_id, time()- (365 * 24 * 60 * 60),'/');
$user_id赋什么值都没关系,只要cookie过期,在客户机的cookie文件中对应的值肯定为空