PHP setcookie / cookies无效

时间:2016-05-13 06:13:21

标签: php cookies setcookie

我从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>

非常感谢!

2 个答案:

答案 0 :(得分:3)

在PHP代码之前有一行HTML。我假设输出缓冲是关闭的,所以这一行导致响应头被发送。移动PHP代码后面的第一行。

答案 1 :(得分:1)

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

  1. 单击浏览器工具栏上的菜单图标。
  2. 选择设置。
  3. 点击显示高级设置
  4. 点击内容设置
  5. 在出现的对话框的“Cookie”部分中,确保允许 选择要设置的本地数据以允许第一方和第二方 第三方cookie。
  6. 单击“关闭”。
  7. 如果您使用其他浏览器,只需谷歌:“在 [浏览器名称]