所以我宁愿不为此使用 JS/jQuery - 但我似乎无法让它工作。

我有一个链接 <a href="?hideupdates=hide">Hide Updates</a>,我正试图用它来设置 cookie。

if($_GET['hideupdates'] == 'hide'){
    setcookie("HideUpdates", "hide", time()+60*60*24*5, "/", $vars->networkSite);
}

它“有效”,但我必须单击该链接两次。

来自“ site.com ”我可以对cookie进行var_dump(),然后出现NULL
现在我单击链接并转到“ site.com?hideupdates=hide ”,cookie 仍然出现 NULL
但是,从“ site.com?hideupdates=hide ”当我再次单击链接时 - 然后 cookie 返回 hide

我错过了什么吗?还是我“必须”为此使用 JS/jQuery?

最佳答案

setcookie 不影响当前请求。为此,您还需要手动设置相关的 $_COOKIE 变量:

setcookie("HideUpdates",$_COOKIE['HideUpdates'] = "hide", time()+60*60*24*5, "/", $vars->networkSite);

关于php - 单击时设置 PHP cookie,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14366808/

10-10 02:22