PHP:将数据添加到数据库后,页面不会重定向

PHP:将数据添加到数据库后,页面不会重定向,php,pdo,Php,Pdo,我编写了这段代码,将表单中的数据添加到数据库中。那部分有效 成功添加数据后,我试图将页面重定向到completed.php。现在,它只向我的数据库表中添加数据,其他什么都没有 这是我的代码: <html> <head> <title>insert data in database using PDO(php data object)</title> <link rel="stylesheet" type="text/css" href="st

我编写了这段代码,将表单中的数据添加到数据库中。那部分有效

成功添加数据后,我试图将页面重定向到
completed.php
。现在,它只向我的数据库表中添加数据,其他什么都没有

这是我的代码:

<html>
<head>
<title>insert data in database using PDO(php data object)</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<div id="main">
<h1>Insert data into database using PDO</h1>
<div id="login">
<h2>Student's Form</h2>
<hr/>
    <form action="" method="post">
        <label>Student Name :</label>
        <input type="text" name="username" id="name" required="required" placeholder="Please Enter Name"/><br /><br />
        <label>Student Email :</label>
        <input type="email" name="email" id="email" required="required" placeholder="john123@gmail.com"/><br/><br />
        <input type="submit" value=" Submit " name="submit"/><br />
    </form>
</div>
</div>

<?php
if(isset($_POST["submit"])){

$hostname='localhost';
$username='adendud85_root';
$password='ayebruh';

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=adendud85_aye",$username,$password);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line

    $sql = "INSERT INTO aye (username, email)
    VALUES ('".$_POST["username"]."','".$_POST["email"]."')";

    if ($dbh->query($sql)) {
        //echo "Success";
        header("Location: completed.php?username=".$_POST["username"]."");
    }
    else{
        echo "error";
    }

    $dbh = null;

}


catch(PDOException $e)
    {
        echo "error";

    }

}


?>
</body>
</html>

使用PDO(php数据对象)在数据库中插入数据
使用PDO将数据插入数据库
学生表格

学生姓名:

学生电邮:



Tr这样,所有的echo语句都应该在header之后

    <?php
if(isset($_POST["submit"])){

$hostname='localhost';
$username='adendud85_root';
$password='ayebruh';

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=adendud85_aye",$username,$password);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line

    $sql = "INSERT INTO aye (username, email)
    VALUES ('".$_POST["username"]."','".$_POST["email"]."')";

    if ($dbh->query($sql)) 
    {
        header("Location: completed.php?username=".$_POST["username"]);
        //echo "Success";
    }
    else{
        echo "error";
    }

    $dbh = null;

}


catch(PDOException $e)
    {
        echo "error";

    }

}


?>

<html>
<head>
<title>insert data in database using PDO(php data object)</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<div id="main">
<h1>Insert data into database using PDO</h1>
<div id="login">
<h2>Student's Form</h2>
<hr/>
    <form action="" method="post">
        <label>Student Name :</label>
        <input type="text" name="username" id="name" required="required" placeholder="Please Enter Name"/><br /><br />
        <label>Student Email :</label>
        <input type="email" name="email" id="email" required="required" placeholder="john123@gmail.com"/><br/><br />
        <input type="submit" value=" Submit " name="submit"/><br />
    </form>
</div>
</div>


</body>
</html>

Tr这一点,所有的echo语句都应该在标题后面

    <?php
if(isset($_POST["submit"])){

$hostname='localhost';
$username='adendud85_root';
$password='ayebruh';

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=adendud85_aye",$username,$password);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line

    $sql = "INSERT INTO aye (username, email)
    VALUES ('".$_POST["username"]."','".$_POST["email"]."')";

    if ($dbh->query($sql)) 
    {
        header("Location: completed.php?username=".$_POST["username"]);
        //echo "Success";
    }
    else{
        echo "error";
    }

    $dbh = null;

}


catch(PDOException $e)
    {
        echo "error";

    }

}


?>

<html>
<head>
<title>insert data in database using PDO(php data object)</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<div id="main">
<h1>Insert data into database using PDO</h1>
<div id="login">
<h2>Student's Form</h2>
<hr/>
    <form action="" method="post">
        <label>Student Name :</label>
        <input type="text" name="username" id="name" required="required" placeholder="Please Enter Name"/><br /><br />
        <label>Student Email :</label>
        <input type="email" name="email" id="email" required="required" placeholder="john123@gmail.com"/><br/><br />
        <input type="submit" value=" Submit " name="submit"/><br />
    </form>
</div>
</div>


</body>
</html>

以任何方式使用
header()
时(如使用'Location'),在
header()
语句之前不能有任何输出。无回显/打印、空白或任何HTML。将PHP代码移动到文档的开头,它应该可以工作@谢谢你,伙计!您可以创建一个图例:d当以任何方式使用
header()
时(如使用'Location'),在
header()
语句之前不能有任何输出。无回显/打印、空白或任何HTML。将PHP代码移动到文档的开头,它应该可以工作@谢谢你,伙计!你的a传奇:D