无法在codeigniter中注销我的用户

时间:2013-05-27 05:30:56

标签: codeigniter codeigniter-2

按逻辑,一旦用户退出,他们就无法再次进入系统,直到他们再次登录。 我使用登录用户的一些会话数据和cookie,我想在用户注销时删除此会话数据和cookie。 我用

delete_cookie("cookie_name");
$this->session->sess_destroy();

并设置$config['sess_time_to_update'] ro 0

但是这不起作用,会话数据和cookie没有删除。 一旦用户注销,我可以做什么来删除所有会话数据和cookie。

2 个答案:

答案 0 :(得分:0)

$this->session->sess_destroy();

应删除所有会话数据。你怎么知道会话数据没有被删除。就在sess_destroy()之后;尝试回应其中一个会话数据。

echo $this->session->userdata('item_name');

同样的方法是在删除像这样的cookie之后使用echo -

echo get_cookie('cookie_name');

我相信,这是用户如何保持登录的逻辑。您可能没有检查登录用户是否存在会话。您应该检查用户访问的每个页面(方法)的会话和cookie。最好的方法是将checker函数放在构造函数中。

答案 1 :(得分:0)

试试这个 -

http://php.net/manual/en/function.setcookie.php

// unset cookies
if (isset($_SERVER['HTTP_COOKIE'])) {
    $cookies = explode(';', $_SERVER['HTTP_COOKIE']);
    foreach($cookies as $cookie) {
        $parts = explode('=', $cookie);
        $name = trim($parts[0]);
        setcookie($name, '', time()-1000);
        setcookie($name, '', time()-1000, '/');
    }
}

http://www.php.net/manual/en/function.setcookie.php#73484