我正在尝试首次设置Cookie。我一直在关注W3学校的文件,但它似乎对我不起作用。
这是我的代码(此示例省略了一些命名):
$namenospace = 'thisnameexample';
function someSetup($somename){
$nameofcookie = $somename . '_some_value';
if(!isset($_COOKIE[$nameofcookie])) {
$someValue = rand(1, getrandmax());
$cookielastsfor = time() + (86400 * 30);
setcookie($nameofcookie, $someValue, $cookielastsfor, "/");
}
else {
$someValue = $_COOKIE[$nameofcookie];
};
return $someValue;
};
$setSomeValue = someSetup($namenospace);
正如您所看到的,我正在尝试检查是否设置了cookie,如果是,请抓取值并使用它,否则,设置cookie,然后返回值。
由于某种原因,这个setcookie()函数无效。有没有人对此有任何见解?
可能值得注意的是,这是一个wordpress网站,如果这是相关的?
谢谢!
编辑:已根据评论中突出显示的范围问题进行了更新,但仍无法按预期工作。
再次编辑:绝对不是重复。我和我的团队发现了这个问题,希望这个没有标记为重复,所以可以给出答案!
答案 0 :(得分:2)
确保在输出前设置Cookie。你在哪里叫你的功能?
作为替代方案,您可以使用JS在客户端设置cookie。