PHP setcookie / cookies not working


PHP setcookie / cookies not working

我从w3schools获取了这个文件,它通过他们的编辑器运行得很好,但当我将它上传到我的托管服务上时,它一直显示为"Cookie'user'未设置"。我检查了我的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代码之前有一行HTML。我假设输出缓冲已关闭,所以这一行会导致发送响应标头。将第一行移到PHP代码后面。

您的浏览器上可能没有启用cookie。如果您正在使用chrome,您可以尝试以下步骤:

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

如果你正在使用另一个浏览器,只需谷歌:"Allow coockies on[browser Name]"