未检测到Cookie集

时间:2015-01-06 06:45:58

标签: php cookies

大家好我用我的脚本cookieset.php

设置了一个cookie
setcookie("atid", $atid, time() + 60 * 60 * 24 * 365, "/", ".mydomain.com");

并在浏览器中显示

Name    atid
Content 1234

但是当我尝试从另一个脚本中检索它时

echo 'value is: ' . $_COOKIE['atid'];

它给出错误说

undefnied index: atid in.........

任何人都可以帮助我吗

3 个答案:

答案 0 :(得分:2)

setcookie("atid",$atid,time()+315360,"/");


// use

if (isset($_COOKIE['atid'])) {
    echo "cookeies set ";
} else {
    echo "cookeies not set ";
}

使用mozilla firebug / cookies查看cookie文件

答案 1 :(得分:0)

问题(来自错误)似乎是$_COOKIE['atid'](取决于错误所在的行)未定义 - 这意味着它尚未设置,并且看到您实际设置了cookie,我说它是未定义的atid。确保获得它,请查看isset()

试试这个:

if (isset($_COOKIE['atid'])) {
    echo $_COOKIE['atid'];
} else {
    echo "No cookie Set";
}

还有一点:

next page load or by doing the page request again

之前无法使用

设置好Cookie后,可以在下一页加载时使用$_COOKIE$HTTP_COOKIE_VARS数组访问这些Cookie。

答案 2 :(得分:0)

$ _COOKIE数组中填充了从浏览器发送的信息。第一次请求调用setcookie的文件 - cookieset.php时 - 服务器将cookie发送到浏览器,但此时$ _COOKIE数组已经填充,没有您刚设置的cookie。 该cookie将在后续请求中提供,直至其过期。

要在PHP中查看cookie,只需这样做。

if (isset($_COOKIE['atid'])) {
    echo 'Cookie found with value ' . $_COOKIE['atid'];
} else {
    setcookie('atid', $atid, time() + 60 * 60 * 24 * 365, "/", ".mydomain.com");
    echo 'Cookie was set. Please refresh to see it working';
}