我正在尝试在标头重定向之前设置一个Cookie,但它无效。我已经读过在标题重定向行之后设置cookie应该可以解决问题,但我没有运气。同样,此前的帖子建议如果您在位置重定向中使用“人工URL”,则应在Cookie的path参数中使用“/”。这也没有运气。
header("Location: $url" . $params);
setcookie('cartstlang', 'lang', 0, '/', '', FALSE, FALSE);
setcookie('cartstdb', 'db', 0, '/', '', FALSE, FALSE);
另请注意,我已通过注释标题重定向然后单击链接来更改页面来测试此项。然后cookie在var_dump()上显得很好。
我正在使用PHP 5.3+开发XAMPP。我已经在IE 8和Firefox 4中进行了测试。
任何帮助都会很棒。感谢。
答案 0 :(得分:2)
setcookie
代码应位于header
代码之前,并确保在停止任何输出后执行exit()
。
您是否确定它会转到同一个域(http://site.com和http://www.site.com之间存在差异)?尝试在.site.com
中将域选项设置为setcookie
,以便可以在所有子域中访问它。
答案 1 :(得分:1)
试试这个
$value = 'something from somewhere';
setcookie("TestCookie", $value);
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];
// Another way to debug/test is to view all cookies
print_r($_COOKIE);
并回复回复你看到了什么。还要确保启用了Cookie。