【问题标题】:how to update database table when session expired in codeigniter如何在codeigniter中的会话过期时更新数据库表
【发布时间】:2014-02-20 13:15:26
【问题描述】:

我是 PHP 和 Codeigniter 的新手,顺便问一下,当 CI 中的会话过期时如何更新数据库表以及我可以将代码放在哪里?我在数据库中使用 uniqid,它被称为令牌。这是我的登录表username, password, level, token, last_login, exp_time。我想在 Codeigniter 中的会话过期时更改 value token=null 。

【问题讨论】:

    标签: codeigniter session session-timeout


    【解决方案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 将无法获取您当前的会话

    【讨论】:

    • 我可以在销毁会话之前在这里获取用户数据,如用户 ID,我想根据用户更新表...???我怎样才能实现它..它总是返回 0
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    相关资源
    最近更新 更多