【发布时间】:2019-10-02 02:23:13
【问题描述】:
我的代码存在用户名和密码不匹配的问题。 这是我的输出。用户名和密码不匹配时,会提示不匹配,而用户名和密码匹配时,会提示匹配 下面是我的代码:
html代码
<body>
<div class="container box">
<div class="form-group">
<h3 align="center">Live Username Available or not By using PHP Ajax Jquery</h3><br />
<label>Enter Username</label>
<input type="text" name="username" id="username" class="form-control" />
<input type="password" name="password" id="password" class="form-control" />
<span id="availability"></span>
<br /><br />
<button type="button" name="register" class="btn btn-info" id="register" disabled>Register</button>
<br />
</div>
<br />
<br />
</div>
</body>
</html>
脚本代码
<script>
$(document).ready(function(){
$('#username','#password').blur(function(){
var username = $(this).val();
var password = $(this).val();
$.ajax({
url:'check.php',
method:"POST",
data:{user_name:username, password:password},
success:function(data)
{
if(data != '1')
{
$('#availability').html('<span class="text-danger">Username and Password not Match</span>');
$('#register').attr("disabled", true);
}
else
{
$('#availability').html('<span class="text-success">Username and Password Available</span>');
$('#register').attr("disabled", false);
}
}
})
});
});
</script>
check.php - 我的数据库连接和从数据库中获取它的查询
<?php
//check.php
$connect = mysqli_connect("localhost", "username", "", "dbname");
if(isset($_POST["user_name"] && $_POST["password"]))
{
$username = mysqli_real_escape_string($connect, $_POST["user_name"]);
$password = mysqli_real_escape_string($connect, $_POST["password"]);
$query = "SELECT * FROM admin WHERE username = '".$username."' AND password = '".$password."' ";
$result = mysqli_query($connect, $query);
echo mysqli_num_rows($result);
}
?>
【问题讨论】:
-
成功回调函数中
console.log(data)的输出是什么?? -
@Mohamed-Yousef 当我删除密码时,程序仅通过用户名即可正常工作,程序工作正常,但是当我添加密码时,它不起作用无法从
console.log获取数据我不是确定这个if(isset($_POST["user_name"] && $_POST["password"]))和这个$('#username','#password').blur(function(){ -
@Mohamed-Yousef 只是为了通知您先生,该代码是来自该站点 Check username availability 的教程。我只是修改并更改它以进行两个输入,即密码然后它无法正常工作。
-
@Nick 回答了
jquery selector和isset部分.. 但要让你知道.. 没用 专门描述问题并不是一件好事与ajax。使用 AJAX。 1-检查js和php文件之间的连接.. 2-console.log返回的数据.. 3-将变量从js传递到php..然后在php中回显它应该返回一个返回的数据.. 4- 添加 db 部分,然后一次又一次地检查数据以输出所需的输出.. 最后一件事是在任何 if 语句var data = data.trim();之前准确修剪数据以避免任何不需要的空格
标签: javascript php jquery ajax mysqli