PHP setcookie获胜';不起作用


PHP setcookie won't work

我完全被这个问题弄糊涂了。设置cookie应该是世界上最简单的事情,但无论出于什么原因,它都不起作用。目前,我只是想让一个测试脚本发挥作用。它看起来像这样:

    $cookie_name = "user";
    $cookie_value = "John Doe";
    setcookie($cookie_name, $cookie_value, time() + 86400 * 30, "/");
    setcookie("act", "sj", time() + 86400 * 365);
    setcookie("bbba", "Hello", time() + 86400);
    echo $_COOKIE['act'];
    echo $_COOKIE['bbba'];
    echo $_COOKIE['user'];

这些cookie都不会设置。没有任何东西会回声,而且我在使用检查器时找不到cookie。我尝试了以下操作:-将echo$_COOKIE放置在同一目录中的另一个文件中。-带和不带ob_start()和ob_flush()-使用"/"、"/direcotry"而不使用任何内容作为路径-将文件移动到根目录,看看它是否在那里工作。

似乎什么都不起作用,我看不出可能出了什么问题。其他使用cookie的脚本在同一个域上工作,该域位于网络酒店上。

有人能看到这里的问题吗?

Cookie只有在下一次加载cookie应该是可见的。测试cookie是否成功设置,在cookie之前的下一个加载页面上检查cookie过期。Expire时间是通过Expire参数设置的。一个很好的方式通过简单地调用print_r($_COOKIE);。

它来自php手册。若您真的想在声明的同一页中设置$_COOKIE数组中的值,可以手动设置。

$_COOKIE['key'] = 'value';
echo $_COOKIE['key'];

PHP手动设置cookie

问题是由文档开头的空白引起的。