我正在用PHP编写一个登录系统,并希望实现一个函数来检查自上次登录失败后15分钟是否已经过去。
在我的users表的MySQL数据库中有一个名为last_login_datetime的列,它被定义为SQL的DATETIME格式,例如。 2018-02-24 21:12:57。
这是我用来检查自上次登录失败后15分钟已经过去的代码
$dateTime = date("Y-m-d H:i:s");
if($row['user_locked']==$statusY AND $dateTime - strtotime($row['last_loginfail_datetime'] > 15 * 60))
{
.....
}
这对我来说似乎并不适用,并希望有人能指出我哪里出错了?
提前致谢。
答案 0 :(得分:1)
在strtotime($dateTime)
条件下使用$dateTime
代替if
。 strtotime
返回UNIX tiemstamp,即:自1970年1月1日00:00:00 GMT以来的秒数
$ dateTime = date(“Y-m-d H:i:s”);
if($row['user_locked']==$statusY AND strtotime($dateTime) - strtotime($row['last_loginfail_datetime'] > 15 * 60))
{
.....
}
答案 1 :(得分:0)
您的代码无效,因为您的日期将被视为字符串。试试这个:
$dateTime = strtotime("now");
if($row['user_locked']==$statusY AND $dateTime - strtotime($row['last_loginfail_datetime'] > 15 * 60))
{
.....
}