2013-07-25 2 views
0

В моем Backend_controller, который расширяет мои MY_Controller У меня есть функция, которая проверяет, существует ли сессия для пользователя с именем is_logged_in(), а если нет, то пользователь перенаправляется на страницу входа. Когда я пытаюсь загрузить мой контроллер входа, он постоянно перезагружается. Любые идеи о том, почему это может быть?Вспомогательный метод индекса

public function is_logged_in() 
{ 
    $is_logged_in = $this->session->userdata('is_logged_in'); 

    if (!isset($is_logged_in) || $is_logged_in !== TRUE) 
    { 
     redirect('login'); 
    } 
} 

ответ

3

попробовать это один

public function is_logged_in() 
{ 
    if (!$this->session->userdata('is_logged_in')) 
    { 
     redirect('login','refresh); 
    } 
} 

пожалуйста, дайте мне знать, если вы сталкиваетесь с любой проблемой.

+0

Он работает для вас? – ABorty

4

Это перезарядка, потому что вы используете этот код на странице входа. Таким образом, на странице входа в систему вы явно не вошли в систему, поэтому перенаправляетесь на ... страницу входа!

Может попробовать это

public function is_logged_in() 
{ 
    $is_logged_in = $this->session->userdata('is_logged_in'); 

    if (!isset($is_logged_in) || $is_logged_in !== TRUE) 
    { 
     if($this->uri->segment(1) !== 'login') redirect('login'); 
    } 
} 
+0

Что я предлагаю сделать, чтобы облегчить это, продолжая происходить. – user2576961

+0

Прошло некоторое время с тех пор, как я использовал CodeIgniter ... Вы можете попробовать и использовать '$ _SERVER ['REQUEST_URI']' и проверить на 'if ($ _SERVER ['REQUEST_URI']! = '/ Login') перенаправление ('войти в'); '. Или независимо от того, что запрос uri находится на этой странице. Я уверен, что есть лучший способ сделать это, но, как я уже сказал, прошло какое-то время! –

+0

Это отличное предложение – user2576961

Смежные вопросы