Введение в программирование на PHP5



Контрольный вывод введенных значений формы


Когда страница формы PHP отправляется на сервер, все значения полей формы посылаются сценарию PHP с помощью метода формы get или post. Когда страница формы выводится снова, все поля формы будут пустыми, независимо от того, будут или нет значения допустимыми. Это происходит, потому что сервер извлекает новый экземпляр страницы PHP и посылает его браузеру. Однако пользователю было бы удобно, чтобы при повторном выводе формы ее поля былы заполнены отправленной ранее информацией. В этом случае пользователю нужно будет только исправить ошибочные данные, а не заново вводить значения во все поля. Это не является проблемой для формы с двумя полями, однако будет крайне неудобно для формы с большим числом полей.


Когда страница формы отправляется и сервер извлекает новый экземпляр страницы PHP и посылает браузеру, значения полей формы могут динамически обновляться, так, чтобы поля не возвращались пустыми. В этом случае пользователю будет удобнее просто обновить поля, содержащие ошибки, а не все поля формы.

Вспомните, что значения полей посланной формы хранятся в суперглобальных переменных $_POST или $_GET. В предыдущем примере имя пользователя хранится в переменной массива $_POST['FName'], а фамилия — в переменной массива $_POST['LName']. Поэтому вывод значений полей формы можно выполнить, присваивая атрибутам 'value' полей формы с помощью кода PHP значения, содержащиеся в массиве. Следующий код демонстрирует такой подход.

process.php

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Страница Web </title> </head> <body>

<form action="process.php" method="post">

First Name: <input type="text" name="FName" value="<?php echo $_POST['FName']?>"/> Last Name: <input type="text" name="LName" value="<?php echo $_POST['LName']?>"/>

<input type="submit" name="submit" value="Submit Data"/>

</form>

</body> </html>

Отметим, что значения текстовых полей First Name и Last Name обновлены, чтобы включить следующий код PHP:

<?php echo $_POST['FName']?> <?php echo $_POST['LName']?>

Когда этот код присваивается атрибуту 'value', он снова выводит значения, введенные ранее пользователем. Когда страница загружается в первый раз, значения переменных POST будут NULL, а value = "". Атрибут value содержит значение только после того, как была нажата кнопка submit.

Повторный вывод полей формы является полезным приемом, который будет активно использоваться в последующих разделах.




Содержание  Назад  Вперед