isset($ _ COOKIE)无效

时间:2012-07-04 19:58:14

标签: php

我正在使用函数集cookie来设置(id)cookie,如下所示:

$cookie_id = $insert_userid;
setcookie("id", $cookie_id, time() + 31556926, '/', 'www.example.com');

上面的代码工作正常。我正在用firefox检查设置,并且有正确的cookie。 现在在我的网站上的其他页面上,我想检查cookie是否已设置。 如果没有设置cookie,我正在使用此代码重定向。 我正在以两种方式重定向,但是设置或不设置cookie。

<?php
if(isset($_COOKIE['id'])){
//do something.
}else{
header('Location: login.php');
}
    ?>

如何解决此问题?

Var转储结果是:

array(4) { ["link"]=> string(43) "http://www.zzz.com/zzz" ["__unam"]=> string(30) "a5caeed-1385397a335-7fca86ad-2" ["PHPSESSID"]=> string(26) "6khzzzzzzzzjd51i6hamm0" ["id"]=> string(10) "zzzzzzzzzz" } 

更新:我没有从我创建的同一页面检查cookie。

1 个答案:

答案 0 :(得分:2)

要帮助找到问题,请尝试以下方法:

var_dump($_COOKIE['id']); exit;

把它放在if之前。理想情况下,您应该看到cookie的值。如果您看到NULL,则表示未传递Cookie。

如果没有通过,请尝试var_dump($_COOKIE); exit;,看看你是否得到一个数组,如果是,那么是否有一个id密钥。

确保正在发送cookie,请查看开发人员工具或您的浏览器的等效内容。