警告:无法修改标头信息。找不到错误

时间:2010-07-28 16:06:57

标签: php

我正在使用登录脚本,在我的developmachine上它运行得很好但是当我把它移到我的webhost时它就停止了工作。

可以在此处查看代码:http://beta.yapaste.com/fm

我登录时遇到的错误是

Warning: Cannot modify header information - headers already sent by (output started at /*/*/*/*/*/*/login.php:10) in /*/*/*/*/*/*/inc/login.php on line 43

但是我找不到错误。

谢谢你的回答,Victor。

编辑:发现错误,我把yapaste上的文件包含在另一个文件中,所以php-code wasent首先。

2 个答案:

答案 0 :(得分:1)

在login.php的第10行,会向浏览器发送一些内容(?><?PHP个标记之间的空格数),此时必须将标头发送到。当您尝试在第43行之后添加更多标题时,会触发警告。

您需要查看第10行并阻止输出发送,或使用输出缓冲 - 您以前的主机默认情况下可以启用它,这可以解释为什么它不再有效...

答案 1 :(得分:0)

使用ob_start();在你的脚本输入开始缓冲,但正如西蒙所说,可能有一些空白被发送到浏览器,因为你试图改变标题。

记住,如果之后没有任何输出代码,你可以省略结束php标签,这样可以保护你免受文件末尾的空格。

同时检查源文件的格式 - 如果它们以带有BOM的UTF-8编码,则在文件开头的编辑器中有一些起始字符无法显示。