对于我的PHP项目,我通过向他们发送激活链接来验证用户电子邮件。点击与电子邮件一起发送的链接,应该验证电子邮件。只有当用户在管理面板中已经设置的时间内打开链接时,才会发生这种情况。
我有一个表格,其中包含电子邮件验证时间限制的设置:
ID名称值
1封电子邮件36000
时间限制(36000)以秒为单位。用户电子邮件只有在注册后10小时内打开链接时才会得到验证。如何使用Unix时间戳实现此目的。
答案 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";
}
希望有所帮助