我在一个项目上。当用户单击“提交”按钮时,我需要提交输入。输入应该在同一页面上提交,然后“添加到数据库的用户”消息应该出现在“提交按钮”下方。 。
此后,应自行清除输入字段,以便用户可以再次提交信息。
我的表单代码是:
<?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>
谢谢您的帮助。
答案 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错误,然后显示错误。