我最近在代码点火器中使用会话创建了登录。它成功登录但我忘了注销。我不小心点击了回来,然后我收到了这个错误,
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。
答案 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('/'));
}