Php 页面之间未保存Cookie

Php 页面之间未保存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

我正在用下面的代码在一个页面上设置cookie

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();