Php 页面之间未保存Cookie
我正在用下面的代码在一个页面上设置cookiePhp 页面之间未保存Cookie,php,cookies,setcookie,Php,Cookies,Setcookie,我正在用下面的代码在一个页面上设置cookie setcookie(codeDone,true); 这是可行的,但我在另一页上将其重置为false setcookie(codeDone,false); 但是,当我回到第一页时,在将其设置为真的部分之前,我有 if($_COOKIE['codeDone'] == true){ $cookie = $_COOKIE['codeDone']; $done = false; echo"cookie set to $cookie"; } setcook
setcookie(codeDone,true);
这是可行的,但我在另一页上将其重置为false
setcookie(codeDone,false);
但是,当我回到第一页时,在将其设置为真的部分之前,我有
if($_COOKIE['codeDone'] == true){
$cookie = $_COOKIE['codeDone'];
$done = false;
echo"cookie set to $cookie";
}
setcookie(codeDone,true);
由于某些原因,ocokie被设置为true,因为此if的内容始终被执行
如果在上一页中我将cookie设置为false,为什么cookie返回true 1?Cookies只是字符串值 下面的代码是将字符串作为布尔值处理的示例: 顺便说一句:执行echo后,您不能修改标头setcookie。这就是我使用输出缓冲区ob\u start/ob\u end\u flush的原因
ob_start();
if (isset($_COOKIE['codeDone'])) {
//this is your magic
$result = filter_var($_COOKIE['codeDone'], FILTER_VALIDATE_BOOLEAN);
if ($result === true) {
$cookie = $_COOKIE['codeDone'];
$done = false;
echo "Current Cookie Status: ".$_COOKIE['codeDone'];
}
}
setcookie('codeDone', 'true');
ob_end_flush();