Codeigniter 会话已过期 - 更新数据库

Posted

技术标签:

【中文标题】Codeigniter 会话已过期 - 更新数据库【英文标题】:Codeigniter Session Expired - Update DB 【发布时间】:2019-12-26 09:11:03 【问题描述】:

下面是我的配置会话代码,将在 1 分钟后过期

$config['sess_expiration'] = 60;

60 秒后自动注销,因为它会检查会话

    //auto logout when time session expired
    if(empty($this->session->userdata("logged_in")))
        redirect('login/index'); //login page
    

我想要的是:

注销时,它将更新到显示用户已注销的数据库 由于不活动。

知道从哪里开始吗?

【问题讨论】:

【参考方案1】:

在重定向到登录页面之前,您可以编写一个查询来更新表中的状态:

if(empty($this->session->userdata("logged_in")))
   // something like this
   $query = "UPDATE tbl_name SET isLogout = 'Yes' WHERE user_id = $user_id";
   redirect('login/index'); //login page

【讨论】:

至于我现在的问题是,当会话过期时,它会将我重定向回来,我现在的问题是我无法检索我的用户名,因此当会话过期时,它会由于我的用户名是“NULL”而显示错误 登录时,将用户ID存储在会话中并在查询中使用

以上是关于Codeigniter 会话已过期 - 更新数据库的主要内容,如果未能解决你的问题,请参考以下文章

手动设置会话过期时间-CodeIgniter

我的 Codeigniter 会话一经创建就会自动过期

Laravel flash 或会话消息未过期 [未维护已更新]

带有 Codeigniter 会话到期时间的帮助

Codeigniter 3 - 会话库

Codeigniter v3.0 Flashdata 会话在 PHP 7.4 和 XAMPP 8.0 中未过期