0
問題は、私の変数$target_time
がうまく動作しないということです。フォームの送信後に変数が変更されない
bid
ある要素の値は、
if (isset($_POST['bid'])) {
によって実行されるが、
$target_time
が
$current_time
以下であり、それは単に
1470996804 >= 900
を実行する代わりに、フォームの提出に15分を加算
if (isset($_POST['bid'])) {
$stmt10->execute(array(
'user_id' => $usid,
'user' => $login,
'bid' => $_SESSION['bid']
));
}
$target_time = strtotime('+15 minutes', strtotime($stmt14));
$current_time = time();
echo $current_time . ' >= ' . $target_time;
$seconds_left = $target_time - $current_time;
$minutes_left = floor($seconds_left/60);
$seconds_left -= $minutes_left * 60;
$seconds_left = floor($seconds_left);
if ($current_time >= $target_time) {
$stmt9->execute();
$r1 = $stmt9->fetch(PDO::FETCH_ASSOC);
$stmt12->execute();
$r2 = $stmt12->fetch(PDO::FETCH_ASSOC);
$stmt11->execute(array(
'win' => $r1['bid'],
'user_id' => $r2['user_id']
));
$stmt13->execute(); // Clears bid table
}
日付。 if ($current_time >= $target_time) {
の条件の真である1470996804 >= 900
の結果を与えるので、フォームをサブミットした直後に実行され、$stmt13->execute();
が実行されるので、すべてのテーブル内容が削除されます。フォーム提出時に何をすればいいですか?$target_time
がデータベースから取得され、if ($current_time >= $target_time) {
の条件はすぐには成立しませんが、送信ボタンが押された15分後にのみ実行されますか?
私はあなたが求めていることを理解するのに苦労しています。ユーザーがフォームを送信してから15分後にクエリを実行しますか? – BadHorsie
はい、まさに私が欲しいものです。 – Luke
私は15分遅れるのではなく、ユーザーがフォームを送信した直後にエラーを表示しません。 – Luke