Как сделать проверку логина и пароля на ajax c header на сервере?

Задача следующая сделать проверку логина и пароля, в случае не удачи выводить сообщение об ошибке, которое прилетает с сервера, если проверка прошла успешна производить переадресацию при помощи header на сервере.

Мой действия (форму кидать не буду она правильная), скрипт отправки и вывода сообщения.
function autorization(){
    var str = $('#formAutorization').serialize();
    console.log(str);
    $.ajax({
        method: "POST",
        url: "manager.php",
        data: str,
        success: function(date) {
            $('#min').empty();
            $('#min').append(date);
            $('#min').slideToggle('slow');
            setTimeout("$('#min').slideToggle('slow')", 2000);
        }
    });
}

Тут получаеться если при проверке происходит ошибка, то появляется текст сообщения и убирается.

Скрипт php на сервере. Проверяю правильность логина и пароля в случае ошибки - вывожу сообщение.
echo "Извините, введенный вами Email или Пароль неверный.";

Если же аутентификация прошла успешно, то заношу id в сессию и делаю перенаправление.
$_SESSION['id'] = $row['id_manager'];
header('Location: menu_manager.html');

Вот тут и происходят не понятные вещи страница появляется на несколько секунд и исчезает, как это исправить ? Чтобы перенаправление происходило правильно ?
  • Вопрос задан
  • 1371 просмотр
Решения вопроса 1
evgeniy2194
@evgeniy2194
PHP, js developer
Перенаправление нужно делать на странице с которой отправляется ajax. Для приема данных лучше использовать JSON

если ошибка:
echo '{ "error":"1", "message":"Извините, введенный вами Email или Пароль неверный"}';

Если все успешно:
echo '{ "success":"1" }';

success: function(response) {
               if(response.error){
                      $('#min').html(response.message);
                     //ошибка
               } else if(response.success){
                     //location.href='http://youpage';
               }
        }


Так же советую функцию json_encode
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы