【问题标题】:Get Cookie made with javascript in PHP在 PHP 中获取使用 javascript 制作的 Cookie
【发布时间】:2018-04-27 12:42:27
【问题描述】:

我正在使用 JS Cookie。

Cookies.set('cookie1','cookieValue');

然而在 PHP 中,当我尝试获取 cookie 时,我得到 NULL

var_dump($_COOKIE['cookie1']);

我可以在控制台中看到 cookie,如果我运行

var_dump($_COOKIE);

我可以看到所有其他 cookie,但看不到这个 (cookie1)

【问题讨论】:

  • 出于好奇,cookie1 上的域是什么?它是否与 php 文件位置的域匹配?
  • 我没有设置。我的印象是我不需要
  • 尝试将其设置为匹配 php 文件所在的域。据我所知,浏览器仅将 cookie 添加到与域匹配的 HTTP 请求中
  • 您要验证 cookie 的位置在请求标头中。查找所有 'Cookie: ...' 行。您是否将请求发送到设置 cookie 的同一域?
  • @Taplar 我设置了 cookie 的域,但在 php 端仍然得到 NULL

标签: javascript php jquery cookies pantheon


【解决方案1】:

js:

var tempo = 1;   //   data in cookie
document.cookie='cookie='+tempo; 

php:

if (isset($_COOKIE["cookie"])) 
  echo $_COOKIE["cookie"]; 
else 
  echo "Cookie Not Set";

【讨论】:

  • 这个谜团的另一个线索...我可以用 javascript 读取 cookie,但不能用 php,但是我可以通过 php 读取其他 cookie。我也在wordpress中
【解决方案2】:

我发现了问题。我们正在使用 Pantheon,他们使用 Varnish Cache。 Varnish 被设置为仅缓存某些 cookie。我们必须将 SESS 添加到 cookie 名称的开头,并将其从 camelCase 更改为 snakecase。我将其发布为答案,以防其他人遇到此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-19
    • 2022-01-02
    • 2012-05-21
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多