代码的(部分)旧版本如下所示:
$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() ?还是我必须以不同的方式处理这个问题?