在同一页面上提交输入-提交后清除表单字段|的PHP

时间:2018-07-15 10:19:34

标签: php

我在一个项目上。当用户单击“提交”按钮时,我需要提交输入。输入应该在同一页面上提交,然后“添加到数据库的用户”消息应该出现在“提交按钮”下方。 。

此后,应自行清除输入字段,以便用户可以再次提交信息。

我的表单代码是:

<?php


include('connect_db.php');

$name=$_POST["user"];


$sql = "INSERT INTO test_table (user) 
        VALUES ('$name')";

if (mysqli_query($conn, $sql)) {
    echo "<br>user added to database !";

} 

else {
    echo "Error:CANNOT Add Record to DATABASE !" . $sql . "<br>" . mysqli_error($conn);
}



?>

我的add_to_db.php代码是:

NodeJs

我的代码工作正常,但我想提交输入而没有任何重定向。此外,“用户已添加到数据库”消息应出现在提交按钮下方的index.php上,提交后,输入字段应清除。 / p>

谢谢您的帮助。

2 个答案:

答案 0 :(得分:0)

如果要在同一页面上提交值,请在Index.php中添加关注代码。 具有$_SERVER['PHP_SELF']且在同一页面上提交值的php。 ;

 <?php 

    $message ='';

    if(!empty($_POST)) {
        include('connect_db.php');

        $name=$_POST["user"];
        $sql = "INSERT INTO test_table (user) 
                VALUES ('$name')";

        if (mysqli_query($conn, $sql)) {
            $message = "<br>user added to database !";

        } else {
            $message = "Error:CANNOT Add Record to DATABASE !" . $sql . "<br>" . mysqli_error($conn);
        }
    }
    ?>

    <html>
    <body>

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Name: <input type="text" name="user"><br>
    <input type="submit">
    <?php echo $message;?>
    </form>

    </body>
    </html>

答案 1 :(得分:0)

这可以通过以下方式实现:将表单定位到同一页面,并在表单的同一页面中注册PHP脚本,并在成功时设置成功消息。 例如。

 <html>
    <body>
    <form action="" method="post">
    Name: <input type="text" name="user"><br>
    <input name="frmsub" value="Submit" type="submit">
    </form>
    </body>
</html>
<?php
 @$submitted=$_POST['frmsub'];
 if(@$submitted){
 include('connect_db.php');
 $name=$_POST["user"];
 $stmt = $conn->prepare("INSERT INTO test_table ('user') VALUES (
 ?)");
 $stmt->bind_param('s', $name);
 if ($stmt->execute()) {
     echo "<br>user added to database !";
 } 
 else {
    echo "Error:CANNOT Add Record to DATABASE !" . $sql . "<br>" . 
 mysqli_error($conn);
 }
 }
?>

这将在同一页面上提交表单,然后在同一页面上的PHP脚本将检查提交的数据,如果接收到数据,则将其插入数据库,然后显示成功消息,或者由于某些原因而导致插入失败MySQL错误,然后显示错误。