【问题标题】:My cookies won't bake properly我的饼干烤不好
【发布时间】:2009-09-06 19:34:44
【问题描述】:

我在使用 PHP 设置 cookie 时遇到了这个奇怪的问题。直到今天早上我将脚本上传到服务器时,一切正常。

这是我的一些代码

if (!isset($_COOKIE["loggedin"])){
show login form } else { show content }

这是我的登录页面

setcookie("loggedin", "true", time()+3600,"/","mydomain.com");

我知道使用 cookie 登录不是最佳做法,但它是一个虚拟网站。 任何人... '直到今天早上,饼干都可以正常工作,但现在不行了。 我之前也遇到过类似的问题,但我不记得我是如何解决的:(

非常感谢任何帮助!

【问题讨论】:

    标签: php cookies


    【解决方案1】:

    我也遇到过这个问题。我发现保存在浏览器中的 cookie 取决于浏览器和服务器。 检查浏览器设置的 cookie


    Internet Explorer 7 和 8

    工具 > Internet 选项 >(常规选项卡)> 浏览历史记录 > 设置 > 查看文件

    火狐

    工具 > 选项 > 隐私 > 显示 Cookies


    array() 响应表明设置了多个 cookie。

    【讨论】:

      【解决方案2】:

      你的烤箱够热吗?

      ... 咳咳

      检查警告。您是否在标题之前发出内容?如果是这样,您要么想将 setcookie() 移得更高,要么使用输出缓冲。

      试一试

      var_export($_COOKIE);
      

      看看是否真的有东西。

      检查 cookie 是否设置为开头。有很多方法可以在 HTTP 标头下降时观察它们。如果您使用 Firefox,请尝试 Live HTTP Headers 扩展。

      【讨论】:

      • 我得到了这个 "array()" 我在 setcookie 函数之后添加了导出 ..
      • 你绝对想检查警告并检查传入的标题。
      【解决方案3】:

      检查您的浏览器是否阻止了 cookie。如果它以前有效,并且当您将它放在不同的服务器上时问题就开始了,那可能是最可能的原因。

      【讨论】:

      • 不,我的浏览器没有阻止 cookie ..而且我没有一大堆服务器要测试:/
      【解决方案4】:

      检查您域中浏览器的 cookie。如果您使用的是 Firefox,请获取 Web 开发人员扩展程序,例如带有 FireCookie 的 Firebug。或者,如果您使用的是 IE,请获取 IE Cookie Viewer

      尝试删除路径和域参数:

      setcookie("loggedin", "true", time()+3600);
      

      这可能会有所帮助。我之前遇到过类似的问题,删除它们可以让我的应用正常工作 - 很奇怪。

      【讨论】:

      • 我尝试删除域和路径参数..仍然没有..我得到了 pisd 并改用会话..
      猜你喜欢
      • 1970-01-01
      • 2015-06-06
      • 2016-09-30
      • 2015-03-07
      • 2017-02-03
      • 2015-06-17
      • 2018-10-03
      • 2010-09-15
      相关资源
      最近更新 更多