【问题标题】:PHP setcookie / cookies not workingPHP setcookie / cookie 不工作
【发布时间】:2016-05-13 14:18:50
【问题描述】:

我从 w3schools 提取了这个文件,它通过他们的编辑器运行得非常好,但是当我将它上传到我的托管服务时,它一直显示为“未设置 Cookie '用户'”。我检查了我的 php.ini 文件,似乎 cookie 已打开,是否有其他设置可能导致此问题?

<!DOCTYPE html>
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), ""); // 86400 = 1 day
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
 echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
 echo "Cookie '" . $cookie_name . "' is set!<br>";
 echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>

非常感谢!

【问题讨论】:

    标签: php cookies setcookie


    【解决方案1】:

    在 PHP 代码之前有一行 HTML。我假设输出缓冲已关闭,因此此行会导致发送响应标头。将第一行移到 PHP 代码后面。

    【讨论】:

    • facepalm 在我在这里看到的所有答案都清楚地说要把 php 代码放在第一位之后,我继续犯了同样的错误。它现在可以工作了,谢谢你 v. v. much!
    【解决方案2】:

    您的浏览器可能未启用 cookie。如果您使用的是chrome,可以尝试以下步骤:

    1. 单击浏览器工具栏上的菜单图标。
    2. 选择设置。
    3. 点击显示高级设置
    4. 点击内容设置
    5. 在出现的对话框的“Cookies”部分中,确保允许 选择要设置的本地数据以允许第一方和 第三方cookies。
    6. 单击关闭。

    如果您使用其他浏览器,只需 google:“Allow coockies on [Browser Name]

    【讨论】:

      猜你喜欢
      • 2013-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 2023-03-22
      相关资源
      最近更新 更多