好的,我使用此代码设置cookie
setcookie("search", "active", time()+3600);
我使用它来删除cookie
setcookie("search", "active", time()-3600);
我使用它来检查和检索cookie
<?
if (isset($_COOKIE["search"]))
{
if ($_COOKIE["search"] === "active")
{
echo "cookies active"."<br/>";
echo $_COOKIE["search"];
}
else
{
echo "cookies is not active";
}
}
else
{
echo "no cookies";
}
?>
但是即使我在刷新页面时使用上面指定的方法删除它,设置的cookie也会一次又一次地回来。
答案 0 :(得分:1)
在PHP中删除cookie不会影响$ _COOKIE超级全局,因为在脚本运行之前会填充此数组。但是,当您加载下一页时,它应该不再出现在$ _COOKIE中。
答案 1 :(得分:1)
我不确定为什么会出现此错误,但在
之前已经看过了示例:致电
setcookie ( "user", "Alex Porter", time () + 3600 );
setcookie ( "search", "active", time () + 3600 );
var_dump($_COOKIE);
setcookie ( "search", "", time () - 3600 );
仅输出
array(1) {
["user"]=>
string(11) "Alex Porter"
}
预期结果
array(2) {
["user"]=>
string(11) "Alex Porter"
["search"]=>
string(6) "active"
}
结论
我认为你只会坚持一个cookie或者只是一次性删除所有的cookie
尝试
注意*确保setcookie
始终位于页面顶部且没有输出
setcookie ( "search", "active", time () + 3600 );
//setcookie ( "search", "", time () - 3600 ); // uncomment when you want to remove cookie
if (isset ( $_COOKIE ["search"] )) {
if ($_COOKIE ["search"] === "active") {
echo "cookies active" . "<br/>";
echo $_COOKIE ["search"];
} else {
echo "cookies is not active";
}
} else {
echo "no cookies";
}