SimpleModal PHP форма входа в систему: как перенаправить в случае успеха / неудачи - PullRequest
0 голосов
/ 03 сентября 2010

Надеюсь, вы можете помочь. Немного новичка jQuery / AJAX здесь.

У меня есть базовая форма входа в SimpleModal, которую можно вызвать с домашней страницы моего сайта.

login.js вызывает скрипт login.php, который проверяет мою базу данных на наличие учетных данных пользователя.

Если вход в систему успешен, я устанавливаю несколько переменных сеанса и обычно использую команду заголовка, чтобы отправить пользователя на его личную страницу (или страницу ошибки при ошибке входа в систему).

например. заголовок ( "Location: ограниченный / index.php");

Не удается закрыть модальную форму входа и перенаправить родительскую домашнюю страницу на страницу участника. Меня обычно оставляют с пустым модальным квадратом со словами «Спасибо»

Если я попытаюсь закрыть модальную форму с помощью

success: function (data) {
 $('#login-container .login-loading').fadeOut(200, function () {
  $('#login-container .login-title').html('Thank you!');
  msg.html(data).fadeIn(200);
  $.modal.close(); //have inserted this line
 });
},

модал закрывается, но я остаюсь на главной странице. (Пользователь вошел в систему на этом этапе, но перенаправление не произошло).

Я разбирался с этим один или два дня. Я посмотрел плагин входа в WordPress, но я не мудрый. Есть идеи?

1 Ответ

2 голосов
/ 03 сентября 2010

На самом деле перенаправление произошло , просто внутри запроса AJAX.Когда вы делаете перенаправление, за ним прозрачно следует XmlHttpRequest, который используют функции ajax, поэтому страница, возвращаемая клиенту, - restricted/index.php.я обычно добавляю заголовок на этой странице, что-то вроде этого:

header("Redirect:restricted/index.php");

Затем ищите заголовок, что-то вроде этого, используя $.ajaxSetup()*Я получу заголовок, чтобы клиент знал, что ему нужно перенаправить.

...