Cookie不会在Firefox中显示$ _COOKIE,但在firebug中可见,适用于其他浏览器

时间:2014-10-25 06:15:49

标签: php wordpress cookies mozilla

我正在使用wordpress我将Cookie设置为完全适用于 Chrome和其他浏览器的目的,但不是在Firefox中,$_COOKIE在我打印时为空 firefox ,但实际上包含Cookie,相同的代码会在其他浏览器上打印Cookie,当然Cookie在Firefox firebug中可见,但不在$_COOKIE上。

有人可以告诉我如何访问它们吗?什么是限制?怎么解决?  我的代码是这样的

if(isset($_GET['attr'])){
    $inTwoMonths = 60 * 60 * 24 * 60 + time();
    $attr = $_GET['attr'];
    setcookie('attr', $attr , $inTwoMonths,'/');
    print_r($_COOKIE);
}

1 个答案:

答案 0 :(得分:1)

setcookie()仅为响应准备Cookie标头,但实际上不会在$ _COOKIE中设置该值。当$ _COOKIE从客户端收到更新的cookie数据时,它将在下一个请求之后获得新值。见http://php.net/setcookie。在您的代码中,您必须这样做:

setcookie('attr', $attr , $inTwoMonths,'/');
$_COOKIE['attr'] = $attr;

以使cookie中的值在同一请求中可用。