PHP setcookie()不适用于多个页面

时间:2012-08-10 13:11:48

标签: php cookies setcookie

我无法理解为什么setcookie()在多个页面上无效。

if (isset($_POST['group'])){ 
    $group = stripslashes($_POST['group']);
    setcookie(GSgroup, $group, time()+3600);
}

当使用多个选项发布表单时,我使用上面的代码设置cookie。我在包含的页面上使用它,以便所有使用此功能的页面都将cookie设置为正确的组。

现在,当我在localhost上尝试它时,这种方法非常好,但是在将其上传到实时网站之后它就不再有用了。奇怪的是,在我在另一个包含的页面上使用它后,它确实有效。

有没有人知道这是怎么回事?我真的很困惑。

如果您需要更多信息,请询问。

3 个答案:

答案 0 :(得分:0)

if(isset($_POST['group'])){ 
$group = stripslashes($_POST['group']);
setcookie(GSgroup, $group, time()+3600);
}

这是实际的代码吗?因为setcookie函数中的第一个参数应该是字符串或包含字符串的变量。

答案 1 :(得分:0)

setcookie('GSgroup', $group, time()+3600);

答案 2 :(得分:0)

请记住,当页面加载时会加载cookie,因此如果您在PHP脚本中使用setcookie在第5行设置cookie,那么在第10行使用$_COOKIE访问它将不会给您cookie值。

您需要重新加载页面才能以这种方式访问​​cookie值。

我喜欢已提供的this PHP Cookie类。