2

问题是我无法从 PHP 设置 cookie。我试图用谷歌搜索这个问题并在stackoverflow上搜索,但没有一个解决方案有效。

我试过了:

setcookie('user_id', $row['user_id'], time() + ( 60 * 60 * 8), '/', '127.0.0.1');
setcookie('user_id', $row['user_id'], false, '/', false);
setcookie('user_id', $row['user_id'], time() + ( 60 * 60 * 8), '/', false);
setcookie('user_id', $row['user_id'], time() + ( 60 * 60 * 8), '/', '');

我使用的浏览器是 Apache 服务器上的 Firefox 12 和 Chrome 19。

谢谢你的帮助。

编辑:当我获取数据放入我的 cookie 时,我的数据库似乎有问题,所以没关系;)感谢您的时间!

4

1 回答 1

2

您确定该代码之前没有输出吗?包括不完全是 PHP 代码的所有echos 和所有includes都被视为输出。

在调用之前你不能输出任何东西的原因setcookie()很简单。要设置 cookie,服务器必须向浏览器发送标头指令。如果内容正文已打印出来,则无法发送该标头。

您可以更改代码以将调用放在任何输出之前,或者您可以简单地将 aob_start()放在代码的开头。该函数使 PHP 缓冲所有输出并在脚本结束时仅发送一个。

于 2012-05-24T15:29:29.970 回答