php

时间:2015-07-19 13:28:55

标签: php cookies

我是php新手,但我有2年的asp.net经验。当我调用logout.php它没有删除cookie值。

<?php

if (isset($_COOKIE['C_username'])) {

  unset($_COOKIE["C_username"]);
  unset($_COOKIE["C_password"]);


  setcookie("C_username", '', time() - 3600);
  setcookie("C_password", '', time() - 3600);

}

echo "<script>alert('".$_COOKIE["C_username"]."');</script>" ; //Here the cookie value is found.

header( 'Location: ../index.php');
?>

重定向到另一个index.php后,还找到了cookie。

1 个答案:

答案 0 :(得分:3)

在浏览器重新加载页面之前,cookie不会被清除,所以如果您更改javascript以在浏览器上实际查找cookie而不是使用PHP(在服务器上)版本你可能会获得更可预测的结果。

还要记住,在将任何其他数据发送到浏览器之前必须运行Cookie和header()语句,因此您的代码应该生成错误,因为header()语句位于{{1}之后声明。

所以试试

echo

附加要点:

不要在密码中放入密码无论如何都没有必要这样做,就像你在重新访问时使用它来登录用户一样,你不需要密码你只需设置一个事实因为你看到一个cookie而登录,所以它不需要在那个/那些cookie中有一个有效的用户名/密码。

另请注意,浏览器可以关闭cookie!