此问题已在此处有答案:
How to fix "Headers already sent" error in PHP(16个回答)
三年前就关门了。
获取以下错误:
"Warning: Cannot modify header information - headers already sent by (output started at..."
对于以下行:
echo '<center>Current Time is '. gmdate("H:i A") . ' GMT (Greenwich Mean Time or UTC)<br />';
如果我把它注解掉,它只会在下一个echo语句中抛出错误。为什么PHP如此讨厌我的echo语句?
下面是HTML底部的包含:
<div id="saveCanForm" width="100%">
<?php include('savereport.php'); ?>
</div>
4条答案
按热度按时间8cdiaqws1#
问题不在于
echo
语句。看起来你在文件后面的某个地方有一个header
调用,但是一旦你输出任何文本,你就不能发送头。您可以将标题移动到脚本的开头,或者使用输出缓冲。bd1hkmkf2#
因为我们的
echo
s在之前到达,所以您发送的头是不允许的。确保header位于任何输出之前。如果你不想重新排列,你也可以使用输出缓冲。
ycl3bljg3#
头文件是在有任何其他输出之前处理的,所以如果你写了一些东西,PHP就不能正确地发送头文件。在你的代码中的某些地方,你给出了HEAD指令,因此失败了。(这是技术原因,如重定向等)
a1o7rhls4#
问题不在于回声。它很可能是由您包含在.php文件中的文件引起的。你有没有在任何文件?这可能会在顶部。如果你的included file语句不在文件的顶部,请确保它是。