如何在代码点火器中结束会话

时间:2016-02-02 13:19:03

标签: php codeigniter session

我最近在代码点火器中使用会话创建了登录。它成功登录但我忘了注销。我不小心点击了回来,然后我收到了这个错误,

Fatal error: Cannot redeclare login_model::validate() in C:\xampp\htdocs\HR\application\models\login_model.php on line 41
A PHP Error was encountered

Severity: Compile Error

Message: Cannot redeclare login_model::validate()

Filename: models/login_model.php

Line Number: 41

Backtrace:

然后当我回到原始页面http://localhost/hr/login/index1 我也得到了这个错误。我怎么能停止这个会议?为什么会话不会进入我的数据库ci_sessions。

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式销毁会话: -

$this->session->sess_destroy();

如果您注销,则会话被销毁,会话用户数据将保留当前CI页面构建的持续时间。

你应该做一个像下面这样的功能。

function log_out()
{
    $this->session->sess_destroy();
    // null the session (just in case):
    $this->session->set_userdata(array('user_name' => '', 'is_logged_in' => ''));    
    redirect('your_page_url');
}

有破坏你想要的会话的功能

   $this->session->unset_userdata('session_name');

答案 1 :(得分:0)

public function logout() {
    $this->session->unset_userdata();
    $this->session->unset_userdata('is_client_login');
    $this->session->sess_destroy();
    $this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0");
    $this->output->set_header("Pragma: no-cache");
    redirect($this->getUrl('/'));
}