我在 php 文件中定义了与语言相关的常量,可以从管理员端进行编辑,编辑内容后,包含它的任何页面都无法使用 php 标头功能成功重定向。
由于错误报告关闭,它不会生成警告消息,并且在表单提交后刷新同一页面,而不是重定向到另一个页面。
任何帮助。
我在 php 文件中定义了与语言相关的常量,可以从管理员端进行编辑,编辑内容后,包含它的任何页面都无法使用 php 标头功能成功重定向。
由于错误报告关闭,它不会生成警告消息,并且在表单提交后刷新同一页面,而不是重定向到另一个页面。
任何帮助。
当您设置重定向标头时,可能已经将一些输出发送到用户浏览器。
发送内容后设置 HTTP 标头将不起作用。在发送标头之前,您必须禁止任何输出。
上面的答案是正确的。检查标题是否已经被刷新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
在文件开头之前输入的意外文本。?>
文件末尾后面的意外文本。(不需要,无论如何都应该省略)使用以下函数来解决这个问题:
ob_start();
用 javascript 重定向替换标头
echo '<script type="text/javascript">window.location="membre.php";</script>';
您的文件的编码是“UTF-8”吗?可能是,您的文本编辑器在 UTF-8 文件中添加了 BOM 记录。它使 PHP 标头函数崩溃。如果使用 UTF-8 编码,则应将文件另存为“UTF-8 without BOM”