我已将codeigniter 2.x升级到3.0,我面临会话问题。我的网站具有多语言支持,因此即使用户从帐户注销,我也希望保持语言会话。我已实现了如下所述的注销功能。
$lang = $this->session->userdata('language');
$this->session->sess_destroy();
$this->session->sess_create();
$this->session->set_userdata(array('language' => $lang));
由于CI 3.x sess_create()已被删除,因此我无法在销毁会话后创建语言会话。我知道我们可以使用cookie帮助而不是会话但是如果我必须使用cookie而不是会话,我需要进行很多更改。
答案 0 :(得分:0)
尝试以下代码。请注意,此处sesssion_var
是一个变量名称,用于存储会话
$session = $this->session->userdata('sesssion_var');
$language_session = $session['language'];
$this->session->set_userdata('sesssion_var',$language_session);
答案 1 :(得分:0)
使用unset_userdata('sessionnamewhichhastobedestroy')
而不是sess_destroy()
。
或者如果您使用sess_destroy()
,然后在default
中设置$lang
值