目前,我有一个按钮,登录用户可以每 10 分钟按一次,方法是获取当前时间 + 10 分钟并将其插入数据库中。
public function setCooldown($address){
$extra = strtotime("+ 10 minutes");
$cooldown = date("h:i:s", $extra);
$query = $this->pdo->prepare("UPDATE users SET cooldown = '$cooldown'
WHERE address = '$address'");
if($query->execute()){
return true;
}else return false;
}
然后使用以下 if 语句检查 10 分钟是否已过去:
if(strtotime($cooldown) >= time()){
return true;
}else return false;
$cooldown
从数据库中获取冷却时间。
问题:
- 如果您在12:55(上午/下午)点击按钮,
冷却时间
将设置为1:05(上午/下午)/下午)。
自 12:55 >= 1:05 起,将不再有冷却时间。
- 如果您在 12:45(上午/下午)点击按钮,
冷却时间
将设置为 12:55(上午/下午)下午)
如果您忘记点击下一个,假设冷却时间结束后 10 分钟,time()
将是 1:05,冷却时间将接近12小时!
问题:如何将冷却时间设置为 10 分钟,无论一天中的什么时间?
注释:
cooldown
在我的数据库中设置为 varchar
感谢任何帮助!
最佳答案
我刚刚检查了你的代码。您应该使用 24 小时格式的日期('H:i:s')。希望这能解决您的问题。 请检查以下链接:-
关于php - 操作后 10 分钟更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35098859/