3

所以我已经阅读了很多关于设置 cookie 的内容,但仍然找不到我在这里做错了什么。我从一个if包含另一个脚本的声明开始,但很快就发现 cookie 没有设置,所以我简化了它,让它只是为了回显,这样我就可以看到它是否正在设置。它不是。我将它包括在<html>.

我正在设置 cookie,然后刷新,无论我刷新多少次,它仍然会在命令中返回NULL结果。echo

  • setcookie重要的是我的html,任何输出后都无法设置cookies??
  • 该值已设置,并且域。
  • 所有浏览器都启用了 cookie,朋友们已经为我测试过,所以它不是本地的。
  • 它不是服务器,我问我的主人。
  • 我什至从PHP 手册中复制/粘贴代码无济于事。
  • 当然检查了几百万次。

    $var='Something';
    setcookie ("Name", "$var", time()+3600, '/', 'website.com');
    echo $_COOKIE["Name"];
    var_dump($_COOKIE["Name"]);
    var_dump ($HTTP_COOKIE_VARS); 
    

echo返回NULLvar_dump返回Array(0)

我快疯了,我的代码有问题吗,我错过了什么?

4

2 回答 2

3

The most frequent problem with setting cookies (or any other header) is, that it has to be set before you send first output character. There may be an invisible character before your script (like BOM or whitespace). If you use includes, thare may be a whitespace after the closing tag of your included script.

于 2013-03-30T10:55:26.080 回答
0

要调试 cookie,必须调试 HTTP 标头。
所以,给自己一个 Firebug,切换到 Net 选项卡并观察请求和响应标头,如果您可以看到服务器发送或浏览器返回的任何 cookie。

如果没有 cookie 的痕迹 - 那么服务器端就会出现一些错误。您需要启用错误报告和显示才能看到它们

ini_set('display_errors',1);
error_reporting(E_ALL);

是一种快速而肮脏的方式

于 2013-03-30T10:41:21.440 回答