Я пробую эту базовую аутентификацию с использованием jQuery.Но ничего не происходит, когда я ввожу неправильное имя пользователя / пароль - не отображается предупреждение и не отображается ошибка метки.
При использовании Firebug в заголовке Response отображается: Login failed{"success":false}
, но на самой странице не отображается ошибка.
Даже если имя пользователя / пароль верны, оно не перенаправляетстраница для успешного входа в систему.
HTML:
<section>
<form id="form" name="form" action="login.php" method="post">
<ul>
<li>
<span class="er"> Error Message</span>
</li> <br />
<li>
<label for="name">Name</label>
<input type="text" name="name" id="name" required />
</li>
<li>
<label for="pass">Password</label>
<input type="password" name="pass" id="pass" required/>
</li>
</ul>
<input type="submit" value="Log In" />
</form>
</section>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".er").hide();
$('#form').bind('submit', function (e) {
var self = $(this);
// See ajax: http://api.jquery.com/jQuery.post
// See serialize: http://api.jquery.com/serialize()
jQuery.post(self.attr('action'), self.serialize(), function () {
if (response.success) {
// wooo, logged in
window.location.href='home.php';
} else {
$(".er").show();
alert("Invalid username or password. Please try again");
}
}, 'json');
e.preventDefault(); //prevent the form being posted
});
});
</script>
PHP --login.php:
<?php
include "common/base.php";
include_once "inc/class.users.inc.php";
$users = new Admin($db);
if($users->accountLogin()==TRUE):
echo "Login Successful " . $_SESSION['Username'];
echo json_encode(array('success' => true));
header("Location: home.php");
else:
echo "Login failed";
echo json_encode(array('success' => false));
endif;
?>