php
  • session
  • logout
  • unset
  • 2017-02-27 12 views 1 likes 
    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

    これは、使用している場合、index.phpのコードの最初の行ですか? header( 'Location:/');代わりにリフレッシュ

    0

    ためのメタタグの は確認してください:session_destroy

    、完全にセッションを殺すユーザをログアウトするようにするために、セッションIDも設定を解除する必要があります。 Cookieを使用してセッションIDを伝播する場合(デフォルトの動作)、セッションCookieを削除する必要があります。それには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

    公共使用する前にセッションを開始関数logout(){

    $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'); 
    } 
    
    関連する問題