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'];、データベース値を取得する変数に置き換えます。

于 2013-09-19T08:47:44.500 に答える