В этом задании будет написан код PHP, проверяющий, введены ли в поля формы числа. Этот код выполняется на стороне сервера. Если поля не заполнены или введенные значения не являются числами, появится изначально скрытая часть HTML-страницы, содержащая сообщение об ошибке. Поскольку сообщение создается при помощи HTML-кода, в него можно ввести любую информацию и как угодно настроить его внешний вид.
Весь процесс выглядит следующим образом. Пользователь заполняет форму и нажимает кнопку Submit. На сервер отправляется запрос на страницу tourprice_processor.php. В верхней части этой страницы расположен небольшой сценарий PHP, проверяющий правильность заполнения формы. Если в обоих полях формы введены числа, страница обрабатывается и отправляется клиенту в обычном порядке. Если хотя бы одно поле не содержит число, пользователь перенаправляется обратно на страницу tourprice.php, на которой появляется скрытая ранее область с сообщением об ошибке.
274. Откройте файл tourprice_processor.php. В начале документа перед сценарием расчета стоимости оставьте немного места для нового сценария.
275. Создайте сценарий, который проверяет, содержатся ли числа в переменных формы.
Пример 11.6. Сценарий проверки чисел в переменных формы
<?php if (is_numeric($_POST['numAdults']) == false or is_numeric($_POST['numChildren']) == false) ?>
276. Добавьте внутреннее действие, которое выполняется, если в результате логической операции возвращается значение true. C отступом в пустой строке после инструкции if
{
header("Location: tourprice.php?error=notnumeric");
exit;
}
277. Сохраните файл tourprice_processor.php и загрузите его на сервер. Протестируйте страницу tourprice.php.
Если не ввести число хотя бы в одно из полей, на экране останется страница tourprice.php. При этом в адресной строке к адресу страницы будет добавлена переменная запроса. Она пока не применяется, но уже существует. Ее наличие или отсутствие позволяет серверному сценарию и пользователю различать ситуации, когда страница загружается впервые, а когда – из-за ошибки.