我正在尝试在登录后存储一个cookie,它在测试系统上运行正常,但是一旦我把它放到现场就失败了吗?我已经尝试过标准的w3schools代码(下面),即使这是相同的,所以它不能是我的代码。
PHP和Apache版本不完全相同,但在彼此的几个版本中(实时:PHP 5.5.21和Apache 2.4.12与测试:PHP 5.6.14和Apache 2.4.10)所以在我开始升级之前我认为我在这里检查,因为这肯定不是原因。我错过了什么吗? (对不起,但我在PHP开发方面是一个菜鸟)为什么在现场网站上如此简单的失败呢?现场网站成功托管了使用cookie的Drupal,我尝试过多个浏览器/机器都接受其他网站的cookie,所以我很困惑......
<?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>
答案 0 :(得分:0)
代码页顶部有一个非常少量的空格,因此服务器似乎没有将它作为标题的第一部分发送。测试代码现在正在运行,我现在就去修复我的“真实”代码我知道了......所以 - 回答是 - 将cookie代码依偎在编辑器的左上角!