【发布时间】:2016-12-11 09:00:35
【问题描述】:
这里是网页设计的新手。我有一个登录表单,可以在 php 中验证并完美运行,但是当我尝试使用 ajax 进行验证时它不起作用。当我运行页面时,它说无论输入到表单中都是成功的。我已经尝试了好几天,试图让它以许多不同的方法进行验证。如果有更好的方法请告诉我!
这里是php,与登录表单在同一页面上
if (isset($_POST['login'])) {
$email = mysqli_real_escape_string($con, $_POST['email']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$result = mysqli_query($con, "SELECT * FROM users WHERE email = '" . $email. "' and password = '" . md5($password) . "'");
if ($row = mysqli_fetch_array($result)) {
echo json_encode('true');
$_SESSION['usr_id'] = $row['id'];
$_SESSION['usr_name'] = $row['name'];
$_SESSION['logged_in'] = true;
} else {
echo json_encode('false');
$errormsg = "Incorrect Email or Password!!!";
}
}
?>
$(document).ready(function() {
$('#login_submit').click(function() {
var form = $('#login_form').serialize();
$.ajax({
type: "POST",
url: "header.php",
data: form,
success:function (response){
alert('Hi');
},
error: function(response){
alert('Nope');
}
});
});
});
<form id="login_form" form role="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="loginform">
<label class="login_form_labels"> Email:</label>
<input type="email" id="email" class="login_input" name="email"><br><br>
<label class="login_form_labels"> Password:</label>
<input type="password" id="password" class="login_input" name="password"><br>
<div id="stay_log">
Stay logged in.
<input type="checkbox" name="stayLoggedIn" value=1 id="checkbox_1">
</div>
<input class="login_form_btn" name="login" value="Submit" type="Submit" id="login_submit">
<button class="login_form_btn" type="button">Forget your Password?</button>
</form>
请帮忙!
【问题讨论】:
-
它不能只说成功或不成功,大多数时候都会说你好
-
你在 php 脚本中获取发布的数据吗??
-
您需要查看
success内的回复 -
是的,php脚本获取数据,完美登录。
-
在控制台上发布
response或在浏览器上使用断点检查您在response中得到了什么
标签: php jquery ajax validation