你可以这么测一下
首先建一个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);?>
刷新一下看看,会有什么结果。

解决方案 »

  1.   

    删除cookie是setcookie('sid','');
    附空值,并不是附布尔值
      

  2.   

    删除COOKIE 不是附假值也不是附字符串空 而是setcookie("sid", ‘’, time() - 1);如果不指定域名留空好了 
      

  3.   

    多谢各位,我的问题估计是和浏览器出了问题有关,我重启机器后一切恢复正常;
    并没有出现我上面的问题了,补充:
    在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存在且在有效期内
      ...... 
    }以上结论我做过验证,完全通过,谢谢大家的支持!!
      

  4.   

    补充,上面第二种方法中
    删除Cookie:SetCookie("sid", $user_id, time()- (365 * 24 * 60 * 60),'/'); 
    $user_id赋什么值都没关系,只要cookie过期,在客户机的cookie文件中对应的值肯定为空