ユーザーのフェーズに応じて待ち時間を設定したい。これを簡単にテストして、これを入れたかっただけです:
function towait(){
if ($query = mysql_query('select fase, lastone from users where id = "'.$_SESSION['id'].'"')){
while($r[]=mysql_fetch_array($query));
if ($r[0]['fase'] == 0) {
$wait = 0;
} elseif ($r[0]['fase'] == 1) {
$wait = 300;
} elseif ($r[0]['fase'] == 2) {
$wait = 600;
} elseif ($r[0]['fase'] == 3) {
$wait = 900;
} elseif ($r[0]['fase'] == 4) {
$wait = 1500;
} elseif ($r[0]['fase'] == 5) {
$wait = 2100;
} elseif ($r[0]['fase'] == 6) {
$wait = 2700;
} elseif ($r[0]['fase'] == 7) {
$wait = 3600;
} elseif ($r[0]['fase'] == 8) {
$wait = 5400;
} elseif ($r[0]['fase'] > 8) {
$wait = 7200;
} else {
$wait = 0;
}
if((time() - $r[0]['lastone']) > $wait) {
//go ahead
$go = 1;
} else {
//you have to wait
//I know this looks weird, but I just save the hour when OK to go as a string in the format "HHuMM"
$go = date("H", ($r[0]['lastone'] + $wachten + 60)) . "u" . date("i", ($r[0]['lastone'] + $wachten + 60));
}
return $go;
} else {
$go = -1;
return $go;
}
}
奇妙なことに、フェーズ 7 まではすべてが完全に機能しますが、ユーザーがフェーズ 7 に入るたびに機能が停止します (スクリプトはユーザーを待たせません)。フェーズ 8 についても同様です。フェーズ 9 および 9+ では、すべてが再び機能します。
私はそれが狂っているように聞こえることを知っています (そしてコードは不十分に書かれています) が、私は何がこのことを引き起こすのか疑問に思っていました.