Что ж, простой способ справиться с этим заключается в следующем:
После того, как пользователь нажал кнопку входа, используя javascript, скрыл кнопку входа в систему, вставил ajaxloader gif , чем отправил AJAXзапросите учетные данные для входа в систему, введите его правильно, зарегистрируйте пользователя, отправьте ответ как JSON и перехватите этот ответ, а в случае успеха - сделайте перенаправление, в случае сбоя - напечатайте соответствующее сообщение.
someкод:
login-handler.php
$user = new user();
if ($user -> login($_POST['uid'], $_POST['password'], $_POST['whatever']){
$response['type'] = 'success';
}
else{
$response['type'] = 'failure';
}
echo json_encode($response);
js-login.js
$("#login").click(function(){
// verify that user put user name, password and whatever, hide button and show ajax loader
$.get("login-handler.php", {user: user, password: password}, function(data){
if (data.type == "success"){
window.location = "http://example.com/new/location/whatever";
}
else{
//print message
}
}, "JSON");
});
РЕДАКТИРОВАТЬ: но я хотел бы присоединиться к другим людям и рассмотретьиспользование более быстрого / другого API, поскольку 10-секундное время загрузки совершенно нелепо, если только это не для вас, в этом случае - вышибите себя.