PHP冷却时间设置为MYSQL

时间:2013-09-19 08:41:57

标签: php mysql time timer

我有这个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分钟的冷却时间等。

非常感谢!

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

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

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