我在一页上设置了一个cookie,并试图在下一页上取消设置,我通过链接到达该页面。但是,当我刷新第二页F5时,cookie只会被取消设置。html总是从链接获取新页面
为了测试,我有这样的第一页上的链接和一些饼干设置:
<?php
include("connect-db.php");
$id = "newuser";
setcookie("user_id", $id, time() + 31536000);
if (isset($_COOKIE["user_id"]))
echo "Welcome " . $_COOKIE["user_id"] . "!<br>";
else
echo "Welcome guest!<br>";
?>
<br>
<a href='next.php'>Next</a>
在接下来的页面我有这样的PHP代码:
<?php
header("Cache-Control: no-cache, must-revalidate, max-age=0"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header('Pragma: no-cache');
setcookie("user_id", "", time()-(60*60*24), "/");
echo "<br /> Welcome " . $_COOKIE["user_id"] . "!<br>";
?>
我怎样才能让确定cookie在第二页上未被设置,或者页面被重新获取?
Cookie与其余的php头一起发送,所以客户端在请求完成之前不会得到它们。 'setcookie'只是设置标题;它不会将它发送给客户端。 – 2013-02-24 15:15:44
创建另一个页面,只显示饼干,并加载每一页后尝试检查与该页面的cookie。你的代码似乎没问题。 – Boynux 2013-02-24 15:19:56