在PHP中,检查30分钟是否已过去的示例?

时间:2009-12-09 18:58:19

标签: php datetime timestamp

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

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

由于

1 个答案:

答案 0 :(得分:8)

您需要在此处执行的操作是将时间戳存储在会话中,以便它可以在页面加载之间保留。 要在会话中存储当前时间戳,请执行以下操作:

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

然后当你想看看自上次认证以来它是否超过30分钟你可以简单地这样做:

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