【发布时间】:2012-10-04 06:00:57
【问题描述】:
一开始我的setcookie() 是:
$school = "Some Value";
setcookie("default_school", $school, time()+3600);
var_dump($_COOKIE);
这样不行,所以我搜索了一下,发现我可能只是需要设置一个路径,所以我把它改成:
$school = "Some Value";
setcookie("default_school", $school, time()+3600, "/", ".mydomain.com");
var_dump($_COOKIE);
那仍然没有用,所以我做了更多调查,并确定我的问题一定是我设置 cookie 太晚了。因此,我开始检查我的标头是否设置在我的代码的某些部分中,这需要返回 bool(false)。
var_dump(headers_sent());
首先是我的index.php 的顶部,然后是我的header.php 的顶部,但结果仍然相同;他们都返回true?
我觉得这应该如此简单,但我无处可去。非常感谢您朝着正确的方向前进。
谢谢, 艾萨克
编辑:刚刚尝试将它放在 init 钩子之前,它返回 false。然后我把 setcookie 函数放在那里,仍然没有运气。
编辑 2:最终添加:
function set_user_cookie() {
$school = "Some Value";
setcookie('default_school', $school, time()+3600);
}
add_action('init', 'set_user_cookie');
现在它可以完美运行了。
【问题讨论】:
-
在我的本地为我工作...你的 cookie 设置关闭了吗?
-
嗯,这很奇怪,其实不然。