我有一个问题我无法弄清楚。我有一个功能,禁止用户每30秒发布一次以上,它可以工作,但我想显示剩余的时间。
该功能如下所示:
function isFlooding($userid)
{
$time = time() - 30;
$recentPost = $db->prepare('SELECT MAX(posted) FROM comments WHERE poster = ?');
$recentPost->execute(array($userid));
return ($recentPost->fetchColumn() > $time) ? true : false;
}
我可以以某种方式返回剩下的时间而不是真的吗?
我已经尝试了
$waitTime = 30 - (time() - $recentPost->fetchColumn());
$waitTime = floor($waitTime / 60);
return ($recentPost->fetchColumn() > $time) ? $waitTime : false;
但它不会返回任何内容,$ waitTime始终为空
答案 0 :(得分:0)
你为什么把它除以60?
函数time()
以秒为单位返回时间,然后将其除以60 - 因为没有任何完整的分钟,它返回0只是因为它被向下舍入。
所以正确的代码应该只是这一行
$waitTime = 30 - (time() - $recentPost->fetchColumn());