cookie在php中不会被删除

cookie在php中不会被删除,php,browser,cookies,Php,Browser,Cookies,当用户按下注销链接时,我将cookie设置为删除: if(isset($_GET['logout'])) { setCookie("user",'',time()-(60*60*24*365*5)); echo "deleted cookie"; } 当我点击“注销”时,我会得到“已删除的写入cookie”,。。当我再次启动浏览器时,会出现我的登录屏幕,尽管这不应该导致cookie被删除。。为什么会这样 编辑:原始的setcookie(

当用户按下注销链接时,我将cookie设置为删除:

  if(isset($_GET['logout']))
  {
       setCookie("user",'',time()-(60*60*24*365*5));
                echo "deleted cookie";
  }
当我点击“注销”时,我会得到“已删除的写入cookie”,。。当我再次启动浏览器时,会出现我的登录屏幕,尽管这不应该导致cookie被删除。。为什么会这样

编辑:原始的
setcookie()
调用:

setCookie("user",$password_hash,time()+60*60*24*365*5,"/");
我甚至这样做:

setCookie("user",'',time()-(60*60*24*365*5));
                echo "deleted cookie";
                echo $_COOKIE["user"];
cookie仍会打印出来使用:

unset($_SESSION);
unset($_COOKIE);

这样用户就必须重新登录。

由于您在原始的
setcookie()
调用中将路径指定为
“/”
,请在未设置的调用中发送相同的path语句:

if(isset($_GET['logout']))
{
     // Delete cookie from browser
     setCookie("user",'',time()-(60*60*24*365*5), "/");

     // Unset the cookie value in context of the running script
     unset($_COOKIE['user']);

     echo "deleted cookie";
}

首先显示用于设置cookie的代码。如果您也指定了路径和域,则它们必须完全匹配。在调用
setcookie()
删除其setcookie(“用户”、$password\u hash,time()+60*60*24*365*5,“/”)之前,请确保没有生成任何输出<代码>$\u COOKIE在请求脚本时始终包含COOKIE的值。使用
setcookie()
删除cookie不会取消设置
$\u cookie
变量。那完全可以。在下一个请求中,您将看到这一点。查看并删除文件系统,然后重新启动服务器,使用户也需要重新登录。这真的不是一个有用的答案,它与删除浏览器中的cookie无关。-1这不起作用。
$\u COOKIE
超全局有效地是只读的。您的代码,似乎正在工作..而ekrembk..unset方法工作..我读到/没有必要。。我想php食谱的作者是错的