我的代码有问题,用户名和密码不匹配。 这是我的输出。如果用户名和密码不匹配,则会显示不匹配的消息,但是,如果用户名和密码匹配,则会显示匹配的消息。 这是下面的代码:
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);
}
?>
答案 0 :(得分:1)
注释
password_hash
和password_verify
函数来哈希和验证。答案
您使用的isset
错误。要检查是否设置了多个值,请用逗号分隔它们,而不用&&
:
if(isset($_POST["user_name"], $_POST["password"]))
您目前使用的PHP代码不会产生任何输出,因为它将在该行上以致命错误终止。
在jQuery中,您没有正确指定多个选择器。它们都应该放在同一组引号内
$('#username, #password').blur(function(){
您还需要更改此代码,这会将username
和password
的值设置为相同的值:
var username = $(this).val();
var password = $(this).val();
到
var username = $('#username').val();
var password = $('#password').val();