我在php文件中定义了与语言相关的常量,可以从管理员端编辑,编辑内容后,任何包含它的页面都无法使用php头功能成功重定向。
由于错误报告已关闭,因此不会生成警告消息,并且在提交表单后刷新同一页面,而不是重定向到另一个页面。
任何帮助。
答案 0 :(得分:1)
当您设置重定向标题时,可能已有一些输出已发送到用户浏览器。
发送内容后设置HTTP标头将不起作用。在发送标题之前,您必须禁止任何输出。
答案 1 :(得分:1)
以上答案是正确的。检查标头是否已使用header_sent
对于调试,您可以看到错误的位置:
<?php
if( headers_sent( $in_file, $at_line ) ){
trigger_error('Cannot write redirect header, output started at '.$at_line.' in '.$in_file, E_USER_ERROR );
}
导致早期输出的可能错误是:
<?php
之前输入的意外文字。?>
后的意外文字。 (不需要,反正应该省略)答案 2 :(得分:0)
使用以下功能解决此问题:
ob_start();
答案 3 :(得分:0)
用javascript重定向替换标头
echo '<script type="text/javascript">window.location="membre.php";</script>';
答案 4 :(得分:0)
你的文件编码是“UTF-8”吗?可能是,您的文本编辑器在UTF-8文件中添加了BOM记录。它崩溃了PHP头功能。如果使用UTF-8编码,则应将文件另存为“无BOM的UTF-8”