我检查了不同页面中的所有答案并使用它,但仍然出现错误。请帮帮我。
错误是:
Warning: Cannot modify header information - headers already sent by (output started at /home/iraustor/public_html/copytest/post.php:1) in /home/iraustor/public_html/copytest/post.php on line 57
表单的网址位于:http://iraust.org/copytest/contact.html
完成表单后的页面是:http://www.iraust.org/copytest/thanks.html(或任何其他方法来反驳此消息)
花了2天时间才回答。请帮帮我。
“标题(” 位置:$ Redirect_Page “);”
答案 0 :(得分:0)
如果您发布headers
,就像您对重定向(设置Location
)所做的那样,您必须确保在该语句之前没有其他输出,因为PHP已经构建了标题(但可能还没有将它们刷新到客户端)在第一个输出上。
出于某些原因(某些require
中的意外错误,某些文件的开头或结尾处的空格等)可能会出现这种情况,但是您提到的错误信息很明显,提到此输出的开始位置: /home/iraustor/public_html/copytest/post.php:1
。
你应该仔细检查在开幕之前和结束<?php ... ?>
之后什么也没有。这适用于被调用脚本中的所有include
d或require
d个文件。
答案 1 :(得分:0)
正如h7r所指出的,如果使用标题功能,则在调用之前无法打印任何内容。
请记住,必须在发送任何实际输出之前调用header(),方法是使用普通HTML标记,文件中的空行或PHP。
因此,您应该检查的第一件事是post.php文件中的第57行:会启动导致错误的输出。
确保没有发送输出:输出空格或空行也会导致错误。
如果您愿意,可以使用output control functions缓冲输出:这样您就可以打印出您想要的内容,但所有输出都不会立即发送到浏览器,因此您可以使用标题功能而无需导致错误。
答案 2 :(得分:0)
将代码放在某处让我们看看......
可能PHP可能会输出错误或警告等......例如,可能不是您。
答案 3 :(得分:0)
答案 4 :(得分:0)
简单的代码编辑器(记事本++)解决了这个问题 问题:隐藏的空格和非Unicode字符