Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 问题设置cookies_Php_Wordpress_Cookies - Fatal编程技术网

Php 问题设置cookies

Php 问题设置cookies,php,wordpress,cookies,Php,Wordpress,Cookies,我第一次尝试做饼干。我一直在关注W3学校的文档,但它似乎不适合我 以下是我的代码(本例中省略了一些命名): 如您所见,我试图检查是否设置了cookie,如果设置了cookie,则获取值并使用它,否则,设置cookie,然后返回值 出于某种原因,此setcookie()函数不起作用。有人对此有什么见解吗 可能值得注意的是,这是一个wordpress网站,如果相关的话 谢谢 编辑:已根据评论中突出显示的范围问题进行更新,但仍无法按预期工作 再次编辑:绝对不是重复的。我的团队和我发现了这个问题,并希望

我第一次尝试做饼干。我一直在关注W3学校的文档,但它似乎不适合我

以下是我的代码(本例中省略了一些命名):

如您所见,我试图检查是否设置了cookie,如果设置了cookie,则获取值并使用它,否则,设置cookie,然后返回值

出于某种原因,此setcookie()函数不起作用。有人对此有什么见解吗

可能值得注意的是,这是一个wordpress网站,如果相关的话

谢谢

编辑:已根据评论中突出显示的范围问题进行更新,但仍无法按预期工作


再次编辑:绝对不是重复的。我的团队和我发现了这个问题,并希望这是重复的标记,以便可以给出一个答案,请

确保在输出之前设置cookies。你在哪里调用你的函数


或者,您可以使用JS在客户端设置cookie。

确保在输出之前设置cookie。你在哪里调用你的函数


或者,您可以使用JS在客户端设置cookie。

1。你不调用
someSetup()
@riggsfully-现在已经更新了,我忘了更新函数名,我在那里更改了问题2的代码。变量范围,范围,范围
$namenospace
someSetup()函数中不可见。如果要在函数中使用它,请将其作为参数传递。
$namenospace
超出了
someSetup
的范围。您需要使用<代码>函数SOMESETUP()使用($NAMENORESULL){<代码> > RiggsFoLy。我不认为这是一个复制品,虽然作用域是一个问题,它不会阻止cookie的创建,这个名称只会是“代码>So OnthValue”。请考虑重新打开它。1。您不调用<代码> SOMESETUP()
@riggsfully-现在已更新,我忘记更新我更改问题代码的函数名称2。变量范围、范围、范围……。
$namenospace
someSetup()中不可见
函数。如果要在函数中使用它,请将其作为参数传递。
$namenospace
超出了
someSetup
的范围。您需要使用
函数someSetup()使用($namenospace){ < /代码> @ RiggsFoLy我不认为这是一个复制品,虽然范围是一个问题,它不会阻止cookie的创建,这个名字只是“代码”。如果一直在监视您的php错误日志,或者更好的情况是在打开错误报告的情况下仍在运行,那么错误日志中会有一条非常棒的提示,给出一条错误消息,您可以在搜索中使用该消息,告诉您thisHi@jock.perkinsI会在这上面下注。再次复制办公室的@riggsfully quiet day?@James:)有点。@jock.perkins如果你一直在监视你的php错误日志,或者更好的情况是在打开错误报告的情况下运行,那么错误日志中会有一个非常棒的提示,给出一条错误消息,你可以在搜索中使用它,它会告诉你hi@jock.perkins
$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);