Я использую Tank Auth для управления пользователями в моем приложении CI 1.7.3.Все работает нормально, но я пытаюсь настроить отображение flash_message
, когда пользователь выходит из системы.Проблема в том, что функция $this->tank_auth->logout();
уничтожает сеанс.Я изменил функцию выхода из системы в библиотеке Tank Auth, чтобы она выглядела так:
function logout() {
$this->delete_autologin();
// See http://codeigniter.com/forums/viewreply/662369/ as the reason for the next line
$user_session_data = array('user_id' => '', 'username' => '', 'status' => '');
$this->ci->session->set_userdata($user_session_data);
$this->ci->session->unset_userdata($user_session_data);
}
Ранее
function logout()
{
$this->delete_autologin();
// See http://codeigniter.com/forums/viewreply/662369/ as the reason for the next line
$this->ci->session->set_userdata(array('user_id' => '', 'username' => '', 'status' => ''));
$this->ci->session->sess_destroy();
}
В моем контроллере у меня есть
function logout(){
if ($this->tank_auth->is_logged_in()) { // logged in
$this->session->set_flashdata('status_message', $this->lang->line('auth_message_logged_out'));
$this->tank_auth->logout();
redirect('');
}
}
Если я уберу функцию $this->tank_auth->logout();
, сообщение будет отображаться нормально.Я уверен, что это простая проблема сессии