【发布时间】:2014-10-16 08:05:14
【问题描述】:
我有一个登录表单。如下:
<form id="myform" method="POST" class="form_statusinput">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-user"></i></span>
<input type="email" class="form-control" id="email" name="email"
placeholder="Enter email" data-original-title="" title=""
onblur="checkEmail()">
</div>
<br>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-lock"></i></span>
<input type="password" class="form-control" id="password" name="password"
placeholder="Password" data-original-title="" title=""
onblur="checkPass()">
</div>
</form>
我在提交表单时通过 Ajax 验证用户名和密码
$(document).ready(function(){
$("form#myform").submit(function(event) {
event.preventDefault();
validate();
});
});
在Validate 函数中,对空字符或无效字符进行了正确的验证,但我想向用户返回密码错误或用户名错误的错误。
Ajax 调用如下:
$.ajax({
url: "includes/fo_submit",
type: "POST",
data: dataString,
success: function (msg) {
if (msg == 1) {
$("#loading").hide();
window.location.reload();
} else {
$("#loading").hide();
$("#messagesuccerr").html("Wrong Credentails")
.fadeIn().delay(4000).fadeOut();
return false;
}
}
});
fo_submit 拥有 PHP 数据库连接和代码
$query = "select * from `register_userfm` where `userchkname_yt` = ?
and passchk_ty = ?; ";
$result = DB::instance()->prepare($query)->execute(array($_POST['email'],
$_POST['password']))->fetchAll();
if(count($resultfm1)>0){
echo 1;
}
else{
echo 0;
}
这种方式唯一返回的错误是“Invalid Credentials”。请告诉我如何分别验证用户名和密码。
【问题讨论】:
-
你不应该单独验证它们,它会给潜在的攻击者提供有价值的信息!
标签: php jquery ajax validation