检索PHP Cookie

时间:2012-05-10 13:34:34

标签: php html

我正在尝试使用PHP存储的cookie来确定用户是否已登录。

我使用以下方法设置cookie:

else $keep_alive = time()+(86400 * 14);
setcookie("id",mysql_result($result, 0, "id"),$keep_alive, "/", "mydomain.com");

当我尝试获取'id'的值时,我可以使用以下内容检索它,只要我在发送标题之前这样做。

$id = $_COOKIE['id'];

但是,如果已经发送了页眉,则不会检索“id”的值。在发送标题后是否无法获取cookie的值,或者我错过了什么?

3 个答案:

答案 0 :(得分:1)

Cookie由标头设置/发送。您无法两次发送标题,因此如果您已经发送了标题,则无法在此页面加载时设置Cookie。确保在发送cookie之前不打印任何内容,或者缓冲它(ob_start等)。

答案 1 :(得分:0)

您可以使用

ob_start() and ob_end_flush()

这样,在调用结束函数之前,不会发送标题。

答案 2 :(得分:0)

原来问题是我试图在我的包含文件中获取cookie值,该文件仅适用于相对路径。所以http://www.example.com/directory/page.php必须在我的include语句中作为./directory/page.php引用,以便可以检索cookie。我不确定这是PHP的错误,还是他们打算让它以这种方式工作,但现在一切都很好。