加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如果用户不活动15分钟,如何使php会话过期

发布时间:2020-12-13 14:00:13 所属栏目:PHP教程 来源:网络整理
导读:我已经在 PHP中创建了一个项目,我正在管理会话. 我正在通过编写以下代码行在我的config.php文件中创建会话. session_start(); 并摧毁这个会话,在logout.php文件中我写了以下的一行. session_destroy(); 我没有在任何其他项目文件中提到任何代码进行会话,但问
我已经在 PHP中创建了一个项目,我正在管理会话.

我正在通过编写以下代码行在我的config.php文件中创建会话.

session_start();

并摧毁这个会话,在logout.php文件中我写了以下的一行.

session_destroy();

我没有在任何其他项目文件中提到任何代码进行会话,但问题是会话是活动的,直到我调用logout.php,

我想要的是,如果用户在15分钟内处于非活动状态,会话应该过期.

任何人都可以帮助我这个,我是新来的PHP,请给一些示例代码或链接来实现这一点..

在您的头文件中调用以下函数,以便每当用户在该时间页面进行任何活动时刷新,并检查会话超时.
function auto_logout($field)
{
    $t = time();
    $t0 = $_SESSION[$field];
    $diff = $t - $t0;
    if ($diff > 1500 || !isset($t0))
    {          
        return true;
    }
    else
    {
        $_SESSION[$field] = time();
    }
}

在标题中使用这样的东西

if(auto_logout("user_time"))
    {
        session_unset();
        session_destroy();
        location("login.php");          
        exit;
    }

User_time是会话名称.我希望这个答案能帮助你.这个代码实际上是什么:“检查diff是否大于1500秒,如果没有,则设置新的会话时间.您可以根据需要更改时间差(1500).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读