2017-11-02 1 views
0

세션이있는 로그인 컨트롤러가 이와 같은 경우 어떻게 로그 아웃 버튼을 만들 수 있습니까?Codeigniter의 로그 아웃 버튼

function login_user() { 
    $user_login = array( 
     'username'=>$this->input->post('username'), 
     'password'=>$this->input->post('password') 
    ); 
    $data=$this->Infoserbilis_model->login_user($user_login['username'],$user_login['password']); 
    if($data) { 
     $session_data['logged_in'] = TRUE; 
     $this->session->set_userdata($session_data); 
     //$this->session->set_userdata('logged_in', $session_data); 
     redirect('Infoserbilis/admin_page', 'refresh'); 
    } else { 
     echo '<script>alert("Invalid Username or Password");</script>'; 
     redirect('Infoserbilis/index', 'refresh'); 
    } 
} 

내 기능은 로그 아웃했지만 아무런 문제가 없습니다. 귀하의 메시지에

public function logout() { 

// Removing session data 
$this->session->sess_destroy(); 
echo '<script>alert("Bye!");</script>'; 
redirect('Infoserbilis/index', 'refresh'); 
} 
+0

에서 login로 리디렉션 할 수는' –

+0

오류없이 sess_destroy' :
다음은 예입니다. 그냥 내 관리 페이지에 머물고. 로그 아웃하지 마십시오. 귀하의 회신에 감사드립니다. –

+0

'sess_destroy' 그냥 현재의 세션을 destory, 당신을 위해 페이지를 리디렉션 할 수 없다, 당신은 페이지를 수동으로 리디렉션해야합니다, 내 대답을 참조하십시오. @jb naron –

답변

0

좋아,베이스, $this->session->sess_destroy() 단지 현재 세션을 파괴 사전에 감사합니다, 당신은 수동으로 페이지를 리디렉션해야합니다.

/** 
* logout 
*/ 
public function logout() 
{ 
    $this->session->sess_destroy(); 

    redirect('/'); 
} 
0
function logout() { 

      $this->session->unset_userdata('is_searched'); 
      redirect('CONTROLLER/login'); 
        } 
+0

코드 만 대답하면 문제가 해결 될 수 있지만 일부 설명은 문제를 어떻게 해결했는지 이해하는 데 도움이됩니다. –

0

당신은 Infoserbilis 컨트롤러 index 함수로 리디렉션 redirect() 기능 당신이로 리디렉션 할 특정 경로를 작성합니다. 검사 세션이 해당 기능에서 활성화되어 있는지 확인합니다.

public function index() { 
    if($this->session->userdata('is_logged_in') == true){ 
     //load the required view 
    } 
    else { 
     redirect('controller/login'); 
    } 
} 

또는 시도하는 오류 메시지가 무엇인지 logout 기능

public function logout() { 
    $this->session->sess_destroy(); 
    redirect('controller/login'); 
}