【问题标题】:In PHP, example of checking to see if 30 minutes have elapsed?在 PHP 中,检查是否已过 30 分钟的示例?
【发布时间】:2009-12-09 18:58:19
【问题描述】:

我有一个身份验证功能。用户在 30 分钟后自动注销。我想将登录时间(时间戳?)存储在身份验证功能中。然后,每次调用需要身份验证的函数时,我都会更新该时间。如果自上次调用以来已过去 30 分钟,它将自动重新进行身份验证。我会将上次访问时间戳或日期存储在全局变量中。我正在寻找代码示例,展示了一个很好的方法:

1) 将日期或时间戳存储在 authenticate 或最后一次函数调用中的全局变量中 2) 将当前时间与上次通话时间进行比较,看看是否已经过了 30 分钟。

谢谢

【问题讨论】:

    标签: php datetime timestamp


    【解决方案1】:

    您需要在这里做的是将时间戳存储在会话中,以便它可以在页面加载之间保持不变。 要将当前时间戳存储在会话中,只需执行以下操作:

    $_SESSION['lastAuthTimestamp'] = time();
    

    然后,当您想查看自上次身份验证以来是否超过 30 分钟时,您可以简单地执行以下操作:

    if((time() - $_SESSION['lastAuthTimestamp']) > 30*60)
    {
      //more then 30min has passed
    }
    

    【讨论】:

      猜你喜欢
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 2018-09-13
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多