PHP/MySQL等待30秒过滤器
我真的不知道该怎么做,但基本上我只是想让用户等待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
$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']+30
您的解决方案有什么问题?:)只是没有按它应该的方式工作。不是很好,如果一个机器人改变重置它的ssid,他可以每30秒发布一次以上的帖子。