泛洪功能,显示时间直到可以再次发布

时间:2016-01-12 10:58:17

标签: php mysql

我有一个问题我无法弄清楚。我有一个功能,禁止用户每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始终为空

1 个答案:

答案 0 :(得分:0)

你为什么把它除以60?

函数time()以秒为单位返回时间,然后将其除以60 - 因为没有任何完整的分钟,它返回0只是因为它被向下舍入。

所以正确的代码应该只是这一行

$waitTime = 30 - (time() - $recentPost->fetchColumn());