PHP/MySQL等待30秒过滤器

PHP/MySQL等待30秒过滤器,php,mysql,timer,Php,Mysql,Timer,我真的不知道该怎么做,但基本上我只是想让用户等待30秒,然后才能再次发布 这是我的代码,非常简单 $plus30secs = time() + 30; if($db->rows("SELECT null FROM comments WHERE userid = '1' AND time > " . $plus30secs . "") == 0) { $db->query("INSERT INTO comments (userid, content, time) VAL

我真的不知道该怎么做,但基本上我只是想让用户等待30秒,然后才能再次发布

这是我的代码,非常简单

$plus30secs = time() + 30;

if($db->rows("SELECT null FROM comments WHERE userid = '1' AND time > " . $plus30secs . "") == 0) {
    $db->query("INSERT INTO comments (userid, content, time) VALUES ('1' ,'hi..' ,'" . time() . "')");
} else {
    echo 'wait atleast 30 seconds between posting.
}

感谢您在advanced中提供的所有帮助。

index.php

<?php
session_start();
$_SESSION['upd']=time();
?>
<form action="om.php" method="post">
</form>
session_start();
    if(time()-$_SESSION['upd']>30){
        //mysql_query();
        echo 'query run';
    }

您还可以使用javascript定时器发送Ajax请求

您应该始终保留海报的IP地址


无论如何,我认为你应该选择“minus30secs”,而不是“plus30secs”。

你的选择永远不会返回一行,除非有人能够穿越时空进入未来并发表评论。 我会这样修改代码:

$rows=$db->rows("SELECT time FROM comments WHERE userid = '1' order by time desc limit 1");
if(!count($rows) || $rows[1]['time'] + 30 < time()) {
    $db->query("INSERT INTO comments (userid, content, time) VALUES ('1' ,'hi..' ,'" . time() . "')");
} else {
    echo 'wait atleast 30 seconds between posting.'
}
$rows=$db->rows(“从注释中选择时间,其中userid='1'按时间描述限制1排序”);
如果(!count($rows)| |$rows[1]['time']+30query(“插入注释(用户ID、内容、时间)值('1'、'hi..'、'.time().“)”);
}否则{
echo“在发布之间至少等待30秒。”
}

您的解决方案有什么问题?:)只是没有按它应该的方式工作。不是很好,如果一个机器人改变重置它的ssid,他可以每30秒发布一次以上的帖子。