2012-10-01 65 views
0

我有这样的控制器:CodeIgniter的sess_destroy不起作用

function Logout() { 
     $this->session->sess_destroy(); 
     redirect('/'); 
    } 

非常简单。但它不起作用。就这么简单 - 会话是存储的。我尝试在所有会话中使用unset_userdata(目前有两个会话),但它也不起作用。

+0

您是否还使用CodeIgniter的会话类声明了会话? CI使用与原生PHP会话不同的系统,因此如果声明'$ _SESSION ['somevar']'并尝试使用CI的会话类删除它,它将无法工作。 – froddd

+0

是的,我用'set_userdata'在另一个文件中执行它。 –

+0

只要您的默认控制器(''/'')被调用,它们是否被重置?也许?您是否尝试在重定向之前回显其中一个会话值? – froddd

回答

0

您需要更改$ config ['sess_cookie_name']与其他动态名称,因为有时您的浏览器中有相同的变量会特别冲突IE。

你将不得不去config文件夹和config.php文件

去应用程序 - > config->的config.php

$配置[ 'sess_cookie_name'] = 'ci_session2'; //将ci_session重命名为解决问题的其他名称。