其他页面上没有cookie值

时间:2012-12-28 19:42:10

标签: php cookies session-cookies setcookie

页面即时贴片发布时包含以下代码,并正确回显cookie:

/* verify.php */

if ($age >= "21"  && $location == "USA" && $cookie == "Y") {

    $value = "1";
    setcookie("age_verified", $value, time()+60*60*24*30);
    header("Location: ../portal.php?cookieset");
}
elseif ($age >= "21" && $location == "USA") {

    session_start();
    $_SESSION['age_verified'] = "1";
    header("Location: ../portal.php?sessionset");   
}

在portal.php上,我无法回显cookie,但如果选择了该选项,则会话显示正常。

/* portal.php */

session_start();
echo $_SESSION["age_verified"];

结果是" 1"

/* portal.php */

echo $_COOKIE["age_verified"];

无结果

我试图实现类似下面代码块的功能,但由于Cookie没有回应结果,因此无法正常工作     / * portal.php * /     在session_start();

if($_SESSION['age_verified']!="1"){
    header("Location: index.php?no_session");
}
elseif ($_COOKIE['age_verified']!="1"){
    header("Location: index.php?no_cookie");
}
else{
    echo "";    
}

我缺少什么?

1 个答案:

答案 0 :(得分:0)

在我看来,$_SESSION['age_verified']!="1"||$_COOKIE['age_verified']!="1"正在检查EITHER会话或cookie值。 Cookie值更持久,因为它们存储在用户的计算机上,并且会话值仅持续到浏览会话。它们可能都不会被设置。

事实上,在verify.php上查看你的逻辑,你正在执行一个动作或另一个动作,而不是两个动作。希望这会有所帮助。