2017-02-27 3 views
1

을 종료 할 수 없습니다 그 점에 "index.php를 로그 아웃 = 예?"하고 내 index.php를에 다음 코드가 있습니다PHP - 나는, 로그인 후 내 웹 사이트에 링크가 세션

if ($_GET['logout'] == "yes") { 
    session_unset(); 
    unset($_SESSION); 
    session_destroy(); 
    echo "<meta http-equiv='refresh' content='0;url=index.php'>"; 
    $_SESSION = array(); 
    $_SESSION = []; 
} 

로그인 상태를 유지하고 세션을 종료하지 않는 이유는 무엇입니까?

+0

페이지를 수동으로 새로 고침해도 작동합니까? – Christophvh

+0

아니요, 세션이 설정되어 있는지 확인하기위한 성명서가 있고, 그렇다면 loggedin.php로 리디렉션됩니다. –

+0

로그 아웃 문을 다른 수표보다 먼저 사용해야합니까? –

답변

1

예 : header ('Location : /')를 사용하는 경우 index.php의 첫 번째 코드 행입니다. 대신 새로 고침

0

에 대한 메타 태그의 확인하시기 바랍니다 : session_destroy

, 모두 세션을 죽일 사용자가 로그 아웃 싶어하기 위해, 세션 ID는 해제해야합니다. 쿠키가 세션 ID (기본 동작)를 전파하는 데 사용되면 세션 쿠키를 삭제해야합니다. setcookie()를 사용할 수 있습니다.

(예를 들어) 홈 페이지에

를 사용자를 리디렉션, 로그 아웃 한 후이

session_unset(); //or unset($_SESSION); 
session_destroy(); 
session_commit(); // or session_write_close(); 
setcookie(session_name(),'',0,'/'); 
session_regenerate_id(true); 

header('location: index.php'); 
0

을 시도하고 항상

<php 
session_start(); 
if ($_GET['logout'] == "yes") { 
    session_unset(); 
    session_destroy(); 
    session_write_close(); 
    setcookie(session_name(),'',0,'/'); 
    session_regenerate_id(true); 
    header('location: index.php'); 
} 
-1

공공 사용하기 전에 세션을 시작 함수 로그 아웃() {

$this->session->set_userdata(array(
     'user_id'  => '', 
     'fname'   => '', 
     'lname'   => '', 
     'gender'  => '', 
     'username'  => '', 
     'user_comp_id' => '', 
     'user_role'  => '', 
     'validated'  => false, 
     'plan_name'  => '', 
     'plan_restriction' => '', 
     'module_leave_bank' => '', 
     'module_custom_logo' => '', 
     'module_bulk_import' => '', 
     'module_custom_rules' => '', 
     'module_reports_download' => '', 
     'module_integrations' => '', 
     'module_chat_support' => '', 
     'module_phone_support' => '', 
     'users_limit'  => '', 
     'leave_policies_limit' => '', 
     'ous_limit'   => '', 
     'sub_ous_limit'  => '', 
     'leave_requests_limit' => '', 
     'holidays_limit' => '', 
     'users_count'  => '', 
     'leave_policies_count' => '', 
     'ous_count'   => '',      
    )); 
    $cookies_id = $this->input->cookie('ci_session', TRUE); 
    // $this->db->delete('user_logged_in',array('cookie' => $cookies_id)); // delete the cookies in database 
    $this->session->sess_destroy(); 

    redirect('login', 'refresh'); 
}