大家好我用我的脚本cookieset.php
设置了一个cookiesetcookie("atid", $atid, time() + 60 * 60 * 24 * 365, "/", ".mydomain.com");
并在浏览器中显示
Name atid
Content 1234
但是当我尝试从另一个脚本中检索它时
echo 'value is: ' . $_COOKIE['atid'];
它给出错误说
undefnied index: atid in.........
任何人都可以帮助我吗
答案 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';
}