我是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。
答案 0 :(得分:3)
在浏览器重新加载页面之前,cookie不会被清除,所以如果您更改javascript以在浏览器上实际查找cookie而不是使用PHP(在服务器上)版本你可能会获得更可预测的结果。
还要记住,在将任何其他数据发送到浏览器之前必须运行Cookie和header()
语句,因此您的代码应该生成错误,因为header()
语句位于{{1}之后声明。
所以试试
echo
附加要点:
不要在密码中放入密码无论如何都没有必要这样做,就像你在重新访问时使用它来登录用户一样,你不需要密码你只需设置一个事实因为你看到一个cookie而登录,所以它不需要在那个/那些cookie中有一个有效的用户名/密码。
另请注意,浏览器可以关闭cookie!