我使用两个输入用户名和密码创建了一个简单的登录。我使用ajax传递数据,这将用于移动应用程序。出于某种原因,我遇到了一个问题,即根据存储在数据库中的内容验证我的凭据。我正在使用标准的PDO和一个非常简单的ajax formData调用。
我的表格:
<form method="post" id="userLoginForm" enctype="multipart/form-data">
<label for="uName">Username</label>
<input type="text" name="uName" id="uName" data-theme="a" data-mini="true"
data-corners="true" />
<label for="uPass">Password</label>
<input type="password" name="uPass" id="uPass" data-theme="a"
data-mini="true" data-corners="true" />
<p></p>
<center>
<button type="submit" data-theme="a" data-mini="true">
<small>LOGIN</small>
</button>
</center>
</form>
我的文档头文件中的ajax POST方法(与我的表单在同一文档中):
var fd = new FormData( $(this)[0] );
var username = $("#uName").val();
var password = $("#uPass").val();
$.ajax({
type: 'POST',
processData: false,
contentType: false,
async: false,
//data: { user: username, pass: password },//
data: fd,
url: 'urltomylogincheck/loginChk.php',
success: function(html){
if(html==1) {
//$("#add_err").html("right username or password");
sessionStorage.setItem("user",username);
alert('Wait while we log you in');
window.location.href = 'user.html';
}
else {
$("#add_err").css('display', 'inline', 'important');
$("#add_err").html("<div style='background: red; padding:
2px 5px 5px 5px;color:white;'>
<small>Wrong username or password</small></div><br/>");
}
},
beforeSend:function()
{
$("#add_err").css('display', 'inline', 'important');
$("#add_err").html("<img src='img src='assets/img/ajax-loader.gif' /> Loading...<br/>")
}
});
return false;
});
});
我的简单PHP检查服务:
session_start();
$user = $_POST['uName'];
$pass = md5($_POST['uPass']);
if(isset($user))
{
$check = $conn->prepare("SELECT * FROM profiletbl
WHERE user = :UserName and pass = :Password");
$check->bindParam(':UserName', $user);
$check->bindParam(':Password', $pass);
$check->execute();
$count = $check->rowCount();
$row = $check-> fetch();
if($count==1)
{
$_SESSION['uName'] = $row['user'];
///header("location: home.html");
}
else {
$errmsg_arr[] = 'Username and Password are not found';
$errflag = true;
session_write_close();
///header("location: about.html");
exit();
}
$check = null;
当我测试登录时,它只是从loginCheck.php得到一个响应:
我之前创建了一个登录,没有使用mysqli的问题,但由于某种原因,我开始相信我的ajax中的某些东西导致了臭味。任何帮助都会很棒。