Я следовал руководству wc3 по отображению переменных php, чтобы обозначить неправильные поля ввода в значительной степени буквой.Я не понимаю, почему это не работает.
У меня есть странная проблема с областями видимости:
tools.php:
if(!isset($_POST)){
$name_error = "";
}
if(isset($_POST) && !empty($_POST)){
$_SESSION['current'] = $_POST;
validateForm();
}
index.php:
<span class="error"><?php echo $name_error; ?></span>
tools.php:
function validateForm() {
$cust = $_SESSION['current']['cust'];
$usermovie = $_SESSION['current']['movie'];
$userseats = $_SESSION['current']['seats'];
if(!preg_match('/[a-zA-Z ]+/', $cust['name']) || empty($cust['name'])){
$name_error = "a-z only.";
echo $name_error;
} else{
$_SESSION['bookings'][] = $_SESSION['current'];
echo 'pass';
$name_error = "";
}
}
Я знаю, что он попадает в функцию и обновляет значение $ name_error, потому что оно отображает правильное значение из функции.Аналогично, если я вручную установлю значение $ name_error в строку, оно будет правильно отображаться в диапазоне ошибок.Однако значение $ name_error в span НЕ обновляется, когда я просто отправляю форму / запускаю функцию как обычно.