检查当前时间是否超过时间限制

时间:2013-12-20 09:32:42

标签: php unix-timestamp

对于我的PHP项目,我通过向他们发送激活链接来验证用户电子邮件。点击与电子邮件一起发送的链接,应该验证电子邮件。只有当用户在管理面板中已经设置的时间内打开链接时,才会发生这种情况。

我有一个表格,其中包含电子邮件验证时间限制的设置:

ID名称值

1封电子邮件36000

时间限制(36000)以秒为单位。用户电子邮件只有在注册后10小时内打开链接时才会得到验证。如何使用Unix时间戳实现此目的。

1 个答案:

答案 0 :(得分:2)

如果可以编辑表格。为发送时间添加一列。使用unix时间并写下发送邮件的时间

然后在注册时,按照发送时间添加值并将其与mktime()进行比较。

如果小于mktime,那么注册将失败,如果更大则注册将成功。

修改

ID名称值Sent_time(bigint)

1电子邮件36000 1387533001

你的普通sql查询也是如此,我们认为我们匹配第1行并将其保存在$ row

$expire = $row['Sent_time'] + $row['value'];
$now = mktime();
if ($expire  >= $now){
    echo "success expiry time not reached";
} else {
    echo "fail expiry time reached";
}

希望有所帮助