【问题标题】:Cookies won't set unless I inspect element除非我检查元素,否则不会设置 Cookie
【发布时间】:2020-07-08 12:36:20
【问题描述】:

所以我在 wordpress 网站的标题中添加了一个 cookie。

setcookie("var", $var, time()+3600, "/", "website.com");

问题是只有当我检查元素 -> 应用程序 -> cookie(在浏览器中)时,cookie 在 php 中是可见和可用的。 否则,我会不断刷新页面并浏览没有设置 cookie 的网站。 我知道 cookie 在第一页加载时不可见,但即使在第一次加载之后也没有 cookie。

目前不确定是什么问题。

所以我在子文件夹 /sub 上设置 cookie,这是一个 wordpress 文件。我打算在 index.php 上使用它 那里没有问题,因为在我检查它并且 cookie 显示一切都按预期工作之后。

【问题讨论】:

  • 你能分享你的完整代码,尤其是你打算在哪里阅读 cookie 吗?
  • 我已经更新了帖子。这是我用来设置 cookie 的唯一代码行。

标签: php cookies setcookie


【解决方案1】:

如果它出现在您的开发工具中,则表明 cookie 已设置 - 句号。

您实际上只是在设置它,而不是在代码中查询它的值。那么如何知道 cookie 是否已设置?

只需尝试var_dump($_COOKIE) - 在设置 cookie 后第二次加载页面后,它应该会显示 var cookie。

【讨论】:

  • 所以,在 index.php 上,我正在检查 cookie 是否被设置。我可以在几天内刷新和浏览 cookie 设置页面,但索引找不到设置的 cookie。但是一旦我检查了开发工具,它就会出现并且一切正常。
  • 是否有任何网络请求/触发器/ajax 正在进行,可能导致额外请求?您提供的信息很少,很难说清楚。
  • 我在默认的 wordpress 2020 主题的 header.php 文件的开头添加了 cookie 集。我很高兴分享任何可以帮助您帮助我的代码,但我真的不知道我在做什么。我假设 wordpress 有很多其他的东西可能会影响到 cookie 吗?不确定。
  • 好吧,来自文档:“如果在调用此函数之前存在输出,则 setcookie() 将失败并返回 FALSE。如果 setcookie() 成功运行,它将返回 TRUE。这并不表示是否用户接受了 cookie。” - 那么你的 setcookie() 返回的是什么?
  • 如果我尝试在我的 wordpress 文件中回显 $_cookie['var'] 它不会显示任何内容,空白。
猜你喜欢
  • 2023-03-19
  • 2012-02-23
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-27
相关资源
最近更新 更多