перенаправить на предыдущую страницу после входа в систему ion_auth codeigniter

Я использую codeigniter и Ion_auth для своего приложения. У них оба установлены, и они работают нормально ... Это первый раз, когда мне действительно пришлось пойти и сделать настраиваемое перенаправление с помощью codeigniter (новичок в codeigniter, тоже не мастер php, но довольно самодостаточный).

Я пытаюсь сказать, что кто-то пытается перейти к моему настраиваемому контроллеру (example.com/index.php/dashboard). Если они идут туда и вошли в систему, то с ними все в порядке, если нет, он перенаправляется на example.com/index.php/auth/login. затем при входе в систему я хочу, чтобы они отправлялись обратно на панель управления, а не на базовый URL-адрес. Я попытался установить HTTP_REFERER в функции входа в систему следующим образом:

$this->session->set_userdata('refered_from', $_SERVER['HTTP_REFERER']);

и перенаправление (после логики входа) вроде этого (найдено на многих сайтах / форумах через Google, да, я искал проблему):

if(!$this->ion_auth->logged_in())
 {
    // If the user is not logged in, then show the login form ( or redirect to login form )
    redirect('**login url**);
 } else {

  // If the user is logged in then don`t let them see the the login form again and send  back to the referring page.
redirect($this->session->userdata('refered_from'));
}

это выдает ошибку каждый раз как ошибку 500.


person John Stapleton    schedule 19.09.2013    source источник
comment
Я предлагаю вам var_dump($this->session->userdata('refered_form') посмотреть, что происходит (а также прокомментировать redirect())   -  person Kyslik    schedule 20.09.2013
comment
Где вы устанавливаете пользовательские данные? Убедитесь, что он не установлен на вашей странице входа, поскольку я предполагаю, что ваша страница входа отправляется сама себе для проверки?   -  person Jeemusu    schedule 20.09.2013


Ответы (1)


Вы уверены, что устанавливаете пользовательские данные в нужное место?

Попробуйте указать второй параметр для перенаправления, например:

redirect($this->session->userdata('refered_from'),"refresh");

Это заставляет перенаправить как новый запрос, изменяя URL-адрес.

person Nicolas Durán    schedule 11.09.2014
comment
Прошу прощения за то, что не помечен как правильный, это сработало для меня, как я хотел. - person John Stapleton; 05.03.2015