【问题标题】:Cannot retrieve cookie in PHP [duplicate]无法在 PHP 中检索 cookie [重复]
【发布时间】:2011-10-27 15:16:34
【问题描述】:

我在我的网站上设置了一个名为“your-selected-location”的 cookie。我在 FF 并使用 firebug 我可以看到 cookie 设置似乎正确并且直到明年才过期并且存储在根“/”中。但是,如果我在我的 PHP 文件的最顶部运行以下代码,它不会返回 cookie 值(我可以在 Firebug 中看到)

if (isset($_COOKIE[ 'your-selected-location' ]))
    {
        $cookieselectedlocation = $_COOKIE['your-selected-location'];
        echo ("<hr>Your cookie is: $cookieselectedlocation<hr>");
    }

我也试过直接回显:

echo $_COOKIE[ 'your-selected-location' ];

没有运气。有什么想法吗?谢谢!

克里斯

编辑:这里变得更奇怪了: www.site.com/merchant_profile --> 无法读取 cookie site.com/merchant_profile --> 可以读取 cookie

【问题讨论】:

  • print_r($_COOKIE); 看看它输出了什么。
  • 使用 FF 的 Net 标签(或类似 HTTPFox 的东西)来验证 cookie 是否真的被发送到服务器。
  • print_r 返回:Array ( ) 我猜是一个空数组,但我可以在 Firebug 中看到根目录中至少设置了 3 个 cookie
  • 问题。 cookie 保存在 site.com/ 并且我在 site.com/merchant_directories 工作,这有什么不同吗?
  • 嗨@ChrisCummings,您的问题解决了吗?

标签: php cookies


【解决方案1】:

当您使用 setcookie() 设置 cookie 时,它​​不会在 $_COOKIE 数组中,直到下一个页面加载,但它仍然会进入浏览器。

【讨论】:

  • 这个 cookie 是几周前在网站的不同部分设置的。我也用Firebug把它删了,让原来的编码加回来但是还是拿不出来
【解决方案2】:

你应该用setcookie()设置cookie

setcookie('your-selected-location', 'New York');

【讨论】:

  • 这与检索/访问 OP 所说的已在 FF 中注册的 cookie 有什么关系?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-14
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多