setcookie()没有设置任何cookie

时间:2017-01-03 22:24:22

标签: php cookies setcookie

这是我第一次涉足cookie。我无法让它工作,所以我从w3schools复制并粘贴了这个例子。在"试试吧!"它的网站上的页面有效,但是当我在本地主机上运行我自己文件中的代码时,它并没有设置cookie。它输出" Cookie命名为'用户'没有设置!"每一次。

        $cookie_name = "user";
        $cookie_value = "John Doe";
        setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); 

        if(!isset($_COOKIE[$cookie_name])) {
            echo "Cookie named '" . $cookie_name . "' is not set!";
        } else {
            echo "Cookie '" . $cookie_name . "' is set!";
            echo "Value is: " . $_COOKIE[$cookie_name];
        }

这不会重定向页面或任何内容。它只是没有设置cookie。我正在使用Chrome和MAMP。 Chrome已启用Cookie,并且php.ini中的Cookie显然也已启用。我也试过在firefox和safari中运行它。请帮我理解

1 个答案:

答案 0 :(得分:0)

setcookie()定义了与其他HTTP标头一起发送的cookie。与其他标头一样,必须在脚本的任何输出之前发送cookie(这是协议限制)。这要求您在任何输出之前调用此函数,包括和标记以及任何空格。

设置完cookie后,可以在下一页加载$ _COOKIE数组时访问它们。 Cookie值也可能存在于$ _REQUEST。