PHP设置cookie localhost无法正常工作

时间:2012-05-24 15:26:45

标签: php cookies

问题是我无法从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时,我的数据库似乎有问题, 所以没关系;)谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

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

setcookie()通话之前无法输出任何内容的原因非常简单。要设置cookie,服务器必须向浏览器发送标头指令。如果内容正文已经打印出来,则无法发送该标题。

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