如何在codeigniter中会话过期时更新数据库表

如何在codeigniter中会话过期时更新数据库表,codeigniter,session,session-timeout,Codeigniter,Session,Session Timeout,我是PHP和Codeigniter的新手,顺便问一下,如何在CI中的会话过期时更新数据库表,以及我可以将代码放在哪里?我在数据库中使用uniqid,它叫做token。这是我的登录表用户名、密码、级别、令牌、上次登录、经验时间。我想在Codeigniter中的会话过期时更改value token=null 要做到这一点,您必须扩展CI\u会话 在application/core/MY_Session.php中创建一个php文件 class MY_Session extends CI_Session

我是PHP和Codeigniter的新手,顺便问一下,如何在CI中的会话过期时更新数据库表,以及我可以将代码放在哪里?我在数据库中使用uniqid,它叫做token。这是我的登录表
用户名、密码、级别、令牌、上次登录、经验时间
。我想在Codeigniter中的会话过期时更改value token=null

要做到这一点,您必须扩展
CI\u会话

在application/core/MY_Session.php中创建一个php文件

class MY_Session extends CI_Session {

public function __construct() {
    parent::__construct();
}

function sess_destroy() {

    //write your update here 
    $this->CI->db->update('YOUR_TABLE', array('YOUR_DATA'), array('YOUR_CONDITION'));

    //call the parent 
    parent::sess_destroy();
}

}

但它可能并不总是有效,因为您的cookie可能会过期,因此CI将无法获取您当前的会话

在销毁会话之前,我是否可以在此处获取用户数据(如用户id),我想根据用户更新表。。。???我怎样才能做到这一点。。它总是返回0