问题是我无法从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时,我的数据库似乎有问题, 所以没关系;)谢谢你的时间!答案 0 :(得分:1)
您确定该代码之前没有输出吗? 所有echo
和所有include
包括不完全是PHP代码的内容都被视为输出。
在setcookie()
通话之前无法输出任何内容的原因非常简单。要设置cookie,服务器必须向浏览器发送标头指令。如果内容正文已经打印出来,则无法发送该标题。
您可以更改代码以在任何输出之前调用该调用,或者您可以在代码的开头简单地添加ob_start()
。该函数使PHP缓冲所有输出,并在脚本结束时仅发送一个。