古いバージョンのコード (の一部) は次のようになります。
$oMainsite->checktime(); // In the main program
public function checktime(){
$timeset = $_SESSION['timeset'];
if ($_SESSION['timeset'] == ''){
$_SESSION['timeset'] = date('H:i', strtotime("+5 min"));
} else {
$timeset = $_SESSION['timeset'];
}
$arr_tijd = getdate();
$uren = $arr_tijd["hours"];
if ($uren < 10){
$uren = 0; $uren .= $arr_tijd["hours"];
}
$minuten .= $arr_tijd["minutes"];
if ($minuten < 10){
$minuten = 0; $minuten .= $arr_tijd["minutes"];
}
$tijd = $uren;
$tijd .= ":";
$tijd .= $minuten;
if($timeset <= $tijd){
generate_question();
}
}
関数 generate question() の一部は次のようになります。
........
$timedelay = rand(3,10);
$_SESSION['timeset'] = date('H:i', strtotime("+".$timedelay." min"));
.........
// Display question
メイン プログラムでは、関数 checktime() は、ページが更新されたときにのみ実行されます。しかし、ユーザー入力がない場合、サイトはアイドル状態のままになります。これは、checktime() および「Generate_question()」関数が実行されないという事実で解決されます。
サイトがアイドル状態の場合でも Checktime() を実行する方法はありますか? それとも、これとは異なる方法でアプローチする必要がありますか?