2009-12-09 72 views
0

我有一个身份验证功能。用户在30分钟后自动注销。我想将登录时间(时间戳?)存储在验证功能中。每次需要认证的功能被调用时,我都会更新那个时间。如果自上次调用30分钟后,它将自动重新进行身份验证。我将最后一次访问时间戳或日期存储在全局变量中。我正在查看代码示例,其中展示了一种很好的方法:在PHP中,检查30分钟是否已过期的示例?

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

感谢

回答

8

你需要在这里做的是时间戳存储在会话,以便它可以pageloads之间依然存在。 要存储当前时间戳在会话刚做到以下几点:

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

然后,当你想看看它自上次AUTH你可以简单地这样做了更多的则30分钟:

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