1

我有这个 php 代码:

if(isset($_SESSION['last_submit']) && ((time() - $_SESSION['last_submit']) < 120)) {

  $timecounter =  time() - 120 - $_SESSION['last_submit'];

  output("Still on cooldown! Wait: (".$timecounter. "-) more seconds!");

} else { 

  $_SESSION['last_submit'] = time();

}

而我基本上想要的是,我想将它链接到mysql数据库,我希望能够提交,在数据库中存储2分钟的“冷却时间”,并且每当数据库中的冷却时间为0时,冷却时间为关闭,代码可以再次执行,设置 2 分钟的冷却时间等。

非常感谢!

4

2 回答 2

0
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
$res = $mysqli->query("SELECT next_submit FROM cooldown");

if ($res->num_rows == 0){
    $next_submit = time()-60;
} else {
    $row = $res->fetch_assoc();
    $next_submit = $row['next_submit'];
} 

if ($next_submit < time()){
    $next_submit = time() + 2*60;
    $mysqli->query("UPDATE cooldown SET next_submit='$next_submit'");

    // do stuff here
}
于 2013-09-19T08:47:43.200 回答
0

这就是您所拥有的,但它需要您当前刷新页面以查看计时器何时启动。您想要实时更新吗?这是你要求的吗?

如果您想从数据库中获取它,只需在他们单击“提交”时使用更新语句存储值,然后执行相同的操作,只需将$_SESSION['last_submit'];var 替换为您获得数据库值的 var。

于 2013-09-19T08:47:44.500 回答