如何在表单验证中使用数据库数据?

赞美诗

嗨,我有一个使用数据库进行验证的表格,现在验证仅适用于最新的数据库数据,我应该怎么做才能验证每个数据。

数据库信息 http://s1.upload7.ir/downloads/5FzySgwq3DghG9Yw38xa9h773Hsozxst/db.jpg

demo-form.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>
赞美诗

我发现我的答案是使用php ajax。我希望它对其他人有帮助。

demo-form.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" onmouseleave="showUser(this.value)" onchange="showUser(this.value)"/></p>
<p>password: <input type="password" name="lpass" id="lpass" /></p>
<input type="submit" value="login" name="submit"/>
</form>
<div id="passh"></div>


<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 (lpass !== document.getElementById("passh").value){
        alert("user or pass is not true");
        return false;
    }
}

function showUser(str) {
    if (str == "") {
        document.getElementById("lpass").placeholder="";
        return;
    } else { 
        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    document.getElementById("passh").value = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","loginpass.php?q="+str,true);
        xmlhttp.send();
    }
}
</script>

loginpass.php

<?php
$q = $_GET['q'];

$con = mysqli_connect('localhost','root','','users');
if (!$con) {
    die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM users WHERE user = '". $q ."' ";
$result = mysqli_query($con,$sql);

while($row = mysqli_fetch_array($result)) {
    echo  $row['pass'] ;
}

mysqli_close($con);
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Codeigniter如何在使用唯一规则的表单验证中使用备用数据库连接

如何在Django模型数据库中使用已发布的用户保存表单

如何在表单中使用hstore数据类型字段并将其存储在Rails 4中的数据库中?

如何在Clojure中使用JDBC创建数据库?

如何在Eclipse中使用Mongo数据库URI

如何在Google Actions中使用Firebase数据库?

如何在数据库中使用QSortFilterProxyModel?

如何在jar文件中使用SQLite数据库?

如何在ebean中使用多个数据库

如何在Laravel中使用数据库事务

如何在laravel中使用数据库事务?

如何在Laravel中使用多个数据库

如何在MySQL数据库中使用python 3.5.1

如何在流明中使用多个数据库

如何在PHP中使用数据库架构?

如何在 Firebase 数据库中使用多个 orederbychild?

如何在Prolog中使用动态数据库?

如何在opencart中使用多个数据库?

如何在Kotlin中使用Firebase UI数据库

如何在pouchdb中使用数据库

如何在Node.js中使用数据库?

如何在Flutter中使用UID访问数据库?

如何在Sencha Touch中使用数据库?

如何在MapReduce hadoop中使用GeoLite数据库?

如何在 React Native 中使用 SQLAlchemy 数据库?

如何在 NVMe SPDK 中使用 MySQL 数据库?

如何使用 Laravel 表单验证检查提交到数据库的数据是否唯一?

如何在带有复选框laravel的表单中使用旧值或数据库中的值

如何在 Django 表单上显示数据库数据?