表单提交、通过PHP传输数据后,清空表单

         HTML表单提交后,通过PHP传递数据到MySQL数据库,通过phpmyadmin查看,数据传递成功,但是发现表单没有被清空,如何清空表单呢?

        网上搜索了诸多方法,比如:

document.getElementById('biao').value="" ;  //表单清空了,但是数据库只有id没有其他内容
document.getElementById('biao').reset();    //表单清空了,但是数据库只有id没有其他内容
document.getElementById('biao').submit();   //表单清空了,但是数据库只有id没有其他内容
document.form.value.clear();  //表单清空了,但是数据库只有id没有其他内容

       又比如:

Response.Redirect("URL");  //数据库插入数据成功,但是没有清空表单
document.getElementById("d").value=""; //数据库插入数据成功,但是没有清空表单

        还有的说如果用js提交后直接重置,有时候会报错,因为正在往后台传值的过程中,你就清空,会获取不到这个值。
这就需要js的回调机制,比如:

function submitForm(callback){                 //主函数
    document.getElementById("biao").submit();
    callback(huidiao);
    }
function huidiao(){                           //回调函数
    document.getElementById("biao").reset();
    }
   
function tijiao(){
   submitForm(huidiao);
  }                                                //用上面三个函数,表单清空了,但是数据库只有id没有其他内容

       上述各种方法实测都不成功,出现两种情况:

1.数据库插入数据成功,但是没有清空表单;

2.表单清空了,但是数据库只有id没有其他内容。

 

     后来通过搜索英文网站,发现了类似问题的解决办法:

html:




欢迎留言

name:

email:

content:


post.php:

//声明变量并接受form表单发送过来的数据
$name =  $_POST['name'] ;
$email =  $_POST['email'];
$content = $_POST['content'];

//连接数据库
$servername = "localhost";
$username = "root";  
$password = "********";
$dbname = "liuyan";

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

//insert语句
$sql = "INSERT INTO message (name,email,content)
VALUES ('$name', '$email','$content')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "
" . mysqli_error($conn);
}

mysqli_close($conn);
?>

上面HTML文件注意这一行的写法:

 

 

你可能感兴趣的:(phpmyadmin,PHP,表单清空)