我有这个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分钟的冷却时间等。
非常感谢!
答案 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,即可获得数据库值