您好,我有一个使用数据库进行验证的表单,现在验证仅适用于最新的数据库数据,我应该如何验证每个数据。
数据库信息
演示表单.php
<form name="login1" action="demo-login.php" onsubmit="return validateForm1()" method="post" id="form1">
<p>user name: <input type="text" name="luser" id="luser"/></p>
<p>password: <input type="password" name="lpass" id="lpass" /></p>
<input type="submit" value="login" name="submit"/>
</form>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "users";
$conn2 = new mysqli($servername, $username, $password, $dbname);
if ($conn2->connect_error) {
die("Connection failed: " . $conn2->connect_error);
}
$sql2 = "SELECT * FROM users";
$result2 = $conn2->query($sql2);
if ($result2->num_rows > 0) {
while($row = $result2->fetch_assoc()) {
$luser = $row["user"];
$lpass = $row["pass"];
}
} else {
echo "err_2";
}
$conn2->close();
?>
<script>
function validateForm1(){
var luser = document.getElementById("luser").value;
var lpass = document.getElementById("lpass").value;
if (luser == "" || lpass == ""){
document.getElementById("luser").placeholder="Fill, it's necessary";
document.getElementById("lpass").placeholder="Fill, it's necessary";
return false;
}
if (luser !== "<?php echo $luser; ?>" || lpass !== "<?php echo $lpass; ?>"){
alert("user or pass is not true");
return false;
}
}
</script>
最佳答案
您似乎多次使用 ID“user”和“pass”。 您不能多次分配标记 ID。使用类来代替并选择它们。
关于php - 如何在表单验证中使用数据库数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30593182/