我有一个包含在 Bootstrap 模式中的登录表单,它看起来像这样。
<!-- Modal -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Logga in</h4>
</div>
<div class="modal-body">
<form action="login.php" method="post" class="form-horizontal" role="form">
<div class="form-group">
<label for="inputEmail1" class="col-lg-3 control-label">Email</label>
<div class="col-lg-9">
<input type="email" name="email" class="form-control" id="inputEmail1" placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="inputPassword1" class="col-lg-3 control-label">Lösenord</label>
<div class="col-lg-9">
<input type="password" name="password" class="form-control" id="inputPassword1" placeholder="Lösenord">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Register</button>
<input type="submit" value="Login" class="btn btn-primary">
</form>
</div>
目前在登录时,当我提交表单时,我会被重定向到 login.php,而不是这个,我想在打开模式的站点之前进行检查。并且任何错误都应该显示在模态框内。
这是login.php。
<?php include 'includes/core/head.php' ?>
<div class="fold">
<?php include 'includes/core/header.php' ?>
<div class="container">
<?php
if(empty($_POST) === false) {
$email = $_POST['email'];
$password= $_POST['password'];
if(empty($email) || empty($password)) {
$errors[] = 'All fields required.';
} else if(user_exists($email) === false) {
$errors[] = 'Email not registered.';
} else if(user_active($email) === true) {
$errors[] = 'Eposten not activated.';
} else {
$login = login($email, $password);
if ($login === false) {
$errors[] = 'Wrong email or password.';
} else {
$_SESSION['user_id'] = $login;
header('Location: site.php');
exit();
}
}
print_r($errors);
}
?>
</div> <!-- /.fold.container -->
</div>
<?php include 'includes/core/footer.php' ?>
我知道解决方案是 AJAX,但我从未使用过它。如何通过 js 调用将登录表单连接到 login.php?