ちょっとしたゲームが進行中のウェブサイトをデザインしています。参加する各ユーザーは、99 分以内に完了する必要があります。それ以外の場合は、ゲーム オーバー状態が表示されます。これは、jQuery の投稿を使用してこれまでにできたことです。
タイマー表示できました。PHP では、目標時間を99*60
秒に設定しましたが、開始時間を 0 に設定することはできません。これらの差をカウントダウンの値にするためです。
さらに、各ユーザーはページを終了できるため、ページを離れた時間を保存できるようにしたいと考えています。私ができることは、ログオフ時にカウントダウン値、たとえば 5845 を DB に保存することだけです。jQuery投稿への呼び出しごとにテーブルを更新しようとしましたが、悪化するだけです.
これが私のjQueryです:
function countdown() {
var i = (new Date().getTime() / 1000) + (99 * 60);
setTimeout(function () {
$.post(\'countdown.php\',{target:i},function(data){
$('#countdown').html(data);
});
countdown();
},1000);
}
countdown();
PHPは次のとおりです。
if (!empty($resm['Countdown']) || $resm['Countdown'] >= 0) {
$target = (99 * 60);
$countdown = ($target - $current);
$_SESSION['currenttime'] = $countdown;
$hours = floor($countdown / 3600);
$min = floor($countdown / 60);
$r_min = floor(($countdown - ($hours * 3600)) / 60);
$sec = floor($countdown - ($min * 60));
if ($min == 0) {
echo $target.' '.$current.' '.$countdown;
echo '<br/>'.$min.' minutes '.$sec.' seconds left';
} else {
echo 'Time Over';
$sql = "UPDATE bs10000099 SET Upgradedlevel='2',Activated='2',Countdown='5940' WHERE MemberID='$memberid'";
mysql_query($sql);
}
}
開始時間を設定する方法やcountdown()
、更新ページでの再起動を防ぐ方法がわかりません。