【问题标题】:PHP not setting cookiesPHP没有设置cookies
【发布时间】:2013-11-08 15:58:27
【问题描述】:

由于某种原因,这段代码没有在我的网站上设置 cookie,但之后的代码正在执行:/

<?php
if (!isset($_COOKIE["drop"])){
setcookie("drop",true);
//do code for one time until cookies are deleted
}
?>

编辑:刚刚在我的笔记本电脑运行灯上测试过,效果很好。 我的虚拟主机上是否存在错误的 php 设置?

【问题讨论】:

  • 在打开 PHP 标记之前有任何输出吗?
  • 也尝试设置路径setcookie("drop",true,0,'/');

标签: php cookies


【解决方案1】:

尝试与 .... 相同的代码。第一次 cookie 出现问题.. 再次尝试重新加载页面。

<?php
if (!isset($_COOKIE["drop"])){
setcookie("drop",true);
//do code for one time until cookies are deleted
}
else
{
echo "Cookie is set...";
}

?>

【讨论】:

    【解决方案2】:

    尝试使用“array_key_exists”而不是“isset”。这可能会根据 PHP 版本产生错误。

    另外,你确定它没有设置吗?你是怎么检查的?

    【讨论】:

      【解决方案3】:

      如果您不提供setcookie() 函数的第三个参数。用户关闭浏览器后,您的 cookie 将被删除。所以它就像一个会话变量。

      此外,浏览器必须接受您可以使用的 cookie。

      在您使用 setcookie() 设置 cookie 后,该 cookie 在您的下一个请求中的 $_COOKIE 变量中可用。如上所述here

      【讨论】:

      • 只要您不关闭浏览器,它就可以工作。但是,如果您关闭浏览器(或其中包含该站点的浏览器选项卡)。会话被破坏,cookie 也被破坏。这就是 PHP 文档中有关 setcookie() 的内容。
      猜你喜欢
      • 2018-04-08
      • 2019-11-16
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 2022-10-01
      相关资源
      最近更新 更多