【问题标题】:why can't I create cookies in Firefox?为什么我不能在 Firefox 中创建 cookie?
【发布时间】:2009-12-10 00:53:39
【问题描述】:

我无法使用以下行创建 Firefox cookie:

    setcookie("TestCookie", $value, time()+3600, "/", "localhost");

有人知道为什么吗?

我检查了 FF 中的设置,它接受来自 3rd 方的 cookie,并在它们过期时被删除。

编辑:我现在可以用这一行创建:

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;
setcookie('cookiename', 'data', time()+60*60*24*365, '/', $domain, false);

但是如何删除呢?

我尝试将 + 切换为 - 但它不起作用。

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;
setcookie('cookiename', 'data', time()-60*60*24*365, '/', $domain, false);

【问题讨论】:

  • “/”是有效路径吗?你试过“/foo/”吗?
  • 澄清一下...为了访问该站点进行测试,您是在地址栏中输入localhost 吗?只是想确保您没有使用 127.0.0.1192.168.1.xx 或类似的东西。
  • 有效路径?我不太明白位置路径从什么开始。我的 webroot 它位于 localhost/projects/blinder 中,调用它的文件是 index.php。路径和域应该设置成什么?
  • 是的,我正在使用 localhost/projects/blinder/index.php

标签: php firefox cookies


【解决方案1】:

我使用 localhost cookie 已经有一段时间了,但是根据 PHP 手册中的 cmets,'localhost' 是域参数的无效值。

要在 localhost 上设置 cookie,请改用 false。示例:

setcookie("TestCookie", $value, time()+3600, "/", false);

http://www.php.net/manual/en/function.setcookie.php#73107

【讨论】:

  • 谢谢它的工作。但现在的问题是如何删除它?查看我的更新版本
  • 要删除 cookie,您应该将过期日期设置为过去。在您的情况下,您将使用 setcookie("TestCookie", '', time()-3600, "/", false);
猜你喜欢
  • 1970-01-01
  • 2010-09-28
  • 2019-11-19
  • 1970-01-01
  • 2022-08-17
  • 2011-04-30
  • 1970-01-01
  • 2014-08-15
  • 2019-07-01
相关资源
最近更新 更多