我正在使用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);
}
答案 0 :(得分:1)
setcookie()仅为响应准备Cookie标头,但实际上不会在$ _COOKIE中设置该值。当$ _COOKIE从客户端收到更新的cookie数据时,它将在下一个请求之后获得新值。见http://php.net/setcookie。在您的代码中,您必须这样做:
setcookie('attr', $attr , $inTwoMonths,'/');
$_COOKIE['attr'] = $attr;
以使cookie中的值在同一请求中可用。