CodeIgniter:取消设置所有userdata,但不销毁会话

Sta*_*bie 3 codeigniter codeigniter-2

有没有办法在会话中取消设置所有userdata而不必使用会话销毁?我正在尝试将用户注销,并且需要一次取消设置所有userdata.跟踪会话中设置的所有可能的用户数据变得冗长乏味.我只是想取消设置userdata中可能已经设置的所有内容.

env*_*sea 18

这很简单!

 $this->session->unset_userdata('some_name');
Run Code Online (Sandbox Code Playgroud)

要么

 $array_items = array('username' => '', 'email' => '');
 $this->session->unset_userdata($array_items);
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!

编辑:看起来你实际上没有跟踪会话中的任何内容(有点奇怪?).你可以调用我写的这个函数:

function unset_only() {
    $user_data = $this->session->all_userdata();

    foreach ($user_data as $key => $value) {
        if ($key != 'session_id' && $key != 'ip_address' && $key != 'user_agent' && $key != 'last_activity') {
            $this->session->unset_userdata($key);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,这假设您使用默认的CI会话设置.