Codeigniter 3.0 Session会话销毁后创建

时间:2015-12-27 07:02:59

标签: php codeigniter session cookies

我已将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而不是会话,我需要进行很多更改。

2 个答案:

答案 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