0

セッションを破棄してログアウトしたいのですが、正しく動作しません。

コントローラ

public function logout(){
            $this->session->ses_destroy();
            redirect('users/index');
        }

見る

<ul class="dropdown-menu">
   <li><a href="javascript:;">My Profile</a></li>
   <li><a href="javascript:;">My Groups</a></li>
   <li class="divider"></li>
   <li><a href="<?php echo base_url().'Users/logout' ?>">Logout</a></li>
</ul>

結果

Fatal error: Call to undefined method CI_Session::ses_destroy()
4

5 に答える 5

1

タイプミスがあります。CodeIginiter-2 のドキュメントによると、セッションを破棄する方法は でありsess_destroy、 ではありませんses_destroy

于 2013-06-26T10:16:00.407 に答える
0

コントローラーでスペル ミスケートが発生しています。
$this->session->sess_destroy()
の代わりに
$this->session->ses_destroy()

混乱を避けるために、以下の例を確認してください。

    クラス Home は CI_Controller を拡張します
    {
        関数 __construct()
        {
            親::__construct();
            //この条件は、ユーザーがアクセスしていない場合、セッションの存在をチェックします  
            //ユーザーセッションなしでアクセスできるログインメソッド
            if( !$this->session->userdata('logged_in') && $this->router->method != 'login' ) {
                リダイレクト ('ログイン');
            }
        }
        関数インデックス()
        {
            $session_data = $this->session->userdata('logged_in');
            $data['email'] = $session_data['email'];
            $this->load->view('home_view', $data);
            $this->load->view('home_content_view', $data);
        }

        関数ログアウト()
        {
            $this->session->userdata = array();
            $this->session->sess_destroy();
            リダイレクト ('ホーム', 'リフレッシュ');
        }
    }

于 2013-06-26T10:29:57.447 に答える
0

コントローラーのスペルが間違っているためです。

$this->session->ses_destroy(); replace $this->session->sess_destroy();

文を正しく読むリンクは: http://ellislab.com/codeigniter/user-guide/libraries/sessions.html このリンクを確認してください。

于 2013-06-26T10:15:57.470 に答える
0

タイプミスあり sess_destroy

public function logout(){
            $this->session->sess_destroy();
            redirect('users/index');
        }
于 2013-06-26T10:14:23.237 に答える
0

こうやって、

最初に、このようにセッションにユーザー名とパスワードの詳細を保存します

 $this->session->set_userdata($this->data);

そして、セッションを破棄するには、このコードを使用します。

    public function logout(){
    $this->session->sess_destroy();
    redirect(base_url().''); 
    }
于 2013-06-26T10:33:22.220 に答える