Php 提交数据后尝试重定向

Php 提交数据后尝试重定向,php,html,mysql,forms,Php,Html,Mysql,Forms,在将一些数据提交到example.php数据库后,我尝试重定向 我有表格,它提交完美,但无法重定向到工作我尝试了一些方法,我在互联网上看到的,但没有工作 <html> <head> <title>MySQLi Create Record</title> </head> <body> <?php $action = isset($_POST['action']) ? $_POST['

在将一些数据提交到example.php数据库后,我尝试重定向 我有表格,它提交完美,但无法重定向到工作我尝试了一些方法,我在互联网上看到的,但没有工作

<html>
    <head>

        <title>MySQLi Create Record</title>

    </head>
<body>

<?php
$action = isset($_POST['action']) ? $_POST['action'] : "";

if($action=='create'){
        //include database connection
        include 'db_connect.php';

        //write query
        $query = "insert into referb 
                                set
                                        make = '".$mysqli->real_escape_string($_POST['make'])."', 
                                        model = '".$mysqli->real_escape_string($_POST['model'])."',
                                        unitt  = '".$mysqli->real_escape_string($_POST['unitt'])."'";

        if( $mysqli->query($query) ) {
                echo " header( 'Location: example.php' ) ;";
        }else{
                echo "Database Error: Unable to create record.";
        }
        $mysqli->close();
}

?>

<!--we have our html form here where user information will be entered-->
<form action='#' method='post' border='0'>
    <table>
        <tr>
            <td>Manufactor</td>
            <td><input type='text' name='make' /></td>
        </tr>
        <tr>
            <td>Model</td>
            <td><input type='text' name='model' /></td>
        </tr>
        <tr>
            <td>Unit Type</td>
            <td>
            <select name='unitt'>
  <option>Laptop</option>
  <option>Computer</option>
  <option>Tablet</option>
</select></td>
        </tr>

            <td></td>
            <td>
                <input type='hidden' name='action' value='create' />
                <input type='submit' value='Save' />

                                <a href='index.php'>Back to index</a>
            </td>
        </tr>
    </table>
</form>

</body>
</html>

MySQLi创建记录
对header()的调用不应是echo'd。该行应改为:

header('Location: example.php');
exit();
在ARDS之后调用exit()将停止脚本的进一步执行。

不要
echo头(“Location:example.php)”。
这是一个php函数,所以您只需编写

header("Location:example.php");

这是一个将用户重定向到另一个URL的php脚本,将其置于正确的条件或代码说明之后

 <html>
 <?php
 header('Location: http://www.example.com/');
 exit;
 ?>

您不能在标题前有echo,也不能在同一指令/条件内有echo。 但是,您可以设置
if
指令

您有
echo”标题('Location:example.php');”

它需要读取为
header('Location:file.php')仅限

执行标头重定向的正确方法是:

header('Location: example.php');

您可以执行以下操作:

访问PHP.net上的
header()
函数:步骤1:首先执行查询以将数据插入数据库

步骤2:关闭数据库连接


步骤3:只需放入>>>标题('Location:example.php')

header()是一个php函数,不是html标记。您只需像header一样调用它('Location:example.php');首先,即使您确实做到了这一点,您也必须删除
标题(
'Location:
)之间的空格,就像您在这里看到的
echo”标题('Location:example.php');;;
-它需要读作
标题(
)-但是执行标题重定向的正确方法是
标题('Location:example.php');
这将不起作用。这是文档中的第一个示例-,在示例中特别指出-
这将给出一个错误。请注意上面的输出,它在header()调用之前。
。在示例-
之前请记住该header()必须在发送任何实际输出之前调用,无论是通过普通HTML标记、文件中的空行还是通过PHP。
我只是浏览了文档,没有看到
标题('Location:example.PHP')的位置
带空格无效或将失败。在本地对其进行了测试,并在带空格/不带空格的情况下工作。您对此是否有参考,只是好奇?@Sean是的,如果您访问此链接并引用我的话:“您不能使用标题('Location:…'),因为在发送标题之前无法发送任何输出。”请注意
标题之间的空格(
标题(
和'Location:…')`@Sean实际上,您不能将
echo
header
放在一起,因为
echo
被视为“标题前的输出”。为了避免下一个陷阱,必须将其放在任何HTML输出之前。这意味着代码必须首先使用重定向,然后使用
标记。
if( $mysqli->query($query) ) {
    header('Location: example.php');
    }else{
            echo "Database Error: Unable to create record.";
        }
    $mysqli->close();
}