php header()函数不会重定向

Mic*_*l F 2 php redirect header

我正在尝试使用insert.php作为操作从表单发布数据.但是,一旦数据发布到数据库,我就无法重定向回index.php.

我搜索了以下网站以找到答案:

以及关于这个主题的十个stackoverflow问题.

这是insert.php文件的代码:

<?php 
include 'connect.php';
$id = $_POST['id']; 
$idea = mysql_real_escape_string($_POST['new_idea']); 

if(!$_POST['submit']) {
    echo "Please fill out the form!"; 
    header('Location: index.php'); 
} else {
    mysql_query("INSERT INTO user_idea (`id`, `idea`, `time_created`) VALUES(NULL, '$idea', NULL)") or die(mysql_error()); 
    echo "Idea has been added!"; 
    header('Location: index.php'); 
}?> 
Run Code Online (Sandbox Code Playgroud)

根据我收集的内容,如果在它之前有文本输出,则header()函数将不会执行.我已经尝试过这个函数而没有回音"已经添加了Idea!"; 并回声"请填写表格!";但我仍然没有得到重定向.

提前感谢您的建议.

-MF

Nir*_*ara 6

从PHP 文档:

必须在发送任何实际输出之前调用header(),无论是普通HTML标记,文件中的空行还是PHP.

在你的情况下,你在header()之前使用echo