我的网站上的注册系统几乎可以正常工作,唯一缺少的部分是注销功能。它启动了会话,但似乎没有破坏它,因此,上一个会话始终处于活动状态。我是在正确销毁会话还是做错了什么?
首先,我只是尝试设置用户数据,然后在销毁会话之前逐个取消设置,这是行不通的。因此,现在在销毁用户数据之前,先用普通字符串设置它们,但这似乎不起作用。
注销链接如下所示:
<a href="http://localhost/dir/dir1/dir2/index.php/Controller/logout">logout</a>
在我的控制器中,我有:
public function logout() {
$this->load->helper('url');
$this->load->library('session');
$session_data = array(
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data',
'data' => 'data'
);
$this->session->set_userdata($session_data);
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->unset_userdata('data');
$this->session->sess_destroy();
redirect('http://localhost/dir/dir1/dir2/index.php/Controller/loginview', 'refresh');
}
我希望会话在重定向之前会被销毁(确实如此),但是当我键入新的登录凭据时,它仍显示上一个会话的凭据,而应显示新的凭据。
我只是忘了指定会话参数,反正问题解决了!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句