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

时间:2014-02-20 13:15:27

标签: codeigniter session session-timeout

我是PHP和Codeigniter的新手,当CI中的会话过期以及我可以放置代码的时候如何更新数据库表?我在数据库中使用uniqid,它叫做token。这是我的登录表username, password, level, token, last_login, exp_time。当Codeigniter中的会话过期时,我想更改值token = null。

1 个答案:

答案 0 :(得分:1)

要做到这一点,你必须扩展CI_Session

在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无法获得您当前的会话