我有一个要发布到另一个页面的表单。但是,如果字段为空,我将尝试停留在同一页面上,并显示所有错误消息,而不是进入我的操作页面。有没有解决的办法?我尝试使用javascript阻止表单提交,但是未显示错误消息。我想知道这是否仅使用PHP?我知道我可以将所有内容都放在页面中,但是我很好奇哪种方法更有效或者应该怎么做?谢谢一百万
register.php
<?php include 'formCheck.php'; ?>
<form method="post" action="add.php">
<div class="textbox">
<label for="uname">Username:</label>
<span class="error">* <?php echo $uerror;?></span>
<input type="text" name="username" placeholder="Username">
</div>
add.php
<?php
require_once "db.php";
if ( !empty($_POST['username'])) {
$u = mysqli_real_escape_string($db, $_POST['username']);
$sql= "INSERT INTO users (username) VALUES ('$u')";
echo "<pre>\n$sql\n</pre>\n";
mysqli_query($db,$sql);
echo 'Success -<a href="index.html">Continue...</a>';
return;
}
formCheck.php
<?php
$uerror = '';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["username"])) {
$uerror = "Username is required";
}
}
?>
您可以使用jQuery来帮助您完成此任务。
$( "form" ).submit(function( event ) {
event.preventDefault(); //prevents from reloading
// your stuff
return false;
});