У меня есть следующий код:
function get_error(){
$update = "";
if($_SESSION['sessionName'][0] === 1){
$update .= "<div class='good'>You have just driven " . convertMiles($_SESSION['sessionName'][1], $this->units) . ".</div>";
$_SESSION['sessionName'][0] = 0;
}
return $update;
}
С этим оператор if завершается неудачно, и get_error возвращает "", как если бы он установил $ _SESSION ['sessionName'] [0] в 0 и затем запустилоператор if.
Это работает:
function get_error(){
$update = "";
if($_SESSION['sessionName'][0] === 1){
$update .= "<div class='good'>You have just driven " . convertMiles($_SESSION['sessionName'][1], $this->units) . ".</div>";
//$_SESSION['sessionName'][0] = 0;
}
return $update;
}
Почему это закомментирует обновление сеанса внутри блока if (Это даже не должно выполняться, пока не будет выполнено условиеи $ update был установлен).На этом get_error возвращает HTML и работает нормально.
Я действительно не могу понять это, и любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ: Также яустановить сессию до вызова этой функции следующим образом:
$_SESSION['sessionName'] = array(1,10);