Codeigniter 3.0会话销毁后创建会话


Codeigniter 3.0 Session create after session destroy

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

请尝试以下代码。请注意,这里sesssion_var是一个变量名,用于存储会话

$session = $this->session->userdata('sesssion_var');
$language_session = $session['language'];
$this->session->set_userdata('sesssion_var',$language_session);

使用unset_userdata('sessionnamewhichhastobedestroy')而不是sess_destroy()

或者,如果使用sess_destroy(),则在$lang 中设置default