Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
12
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Html - формы

Клиентский браузер умеет формировать «правильный» HTTP-запрос, для того, чтобы интерпретатор PHP смог распознать параметры. Разные технологии, используемые браузером, предполагают различные способы работы клиентского ПО, существенно, что в результате к HTTP-серверу будут сформированы схожие запросы, которые могут быть обработаны программой на PHP. Далее мы рассмотрим, наверное, один из самых простых (и наиболее распространенный) метод формирования HTTP запросов из браузера – HTML-формы. HTML-форма предназначена для интерактивного ввода данных пользователем в поля ввода различных типов.

Пример HTML формы:

<form action="ex4.php" method="POST">   <table border="0">     <tr>       <td>Фамилия:</td>       <td><input type="text" name="lname"></td>     </tr>     <tr>       <td>Имя:</td>       <td><input type="text" name="fname"></td>     </tr>     <tr>       <td>Отчество:</td>       <td><input type="text" name="mname"></td>     </tr>     <tr>       <td colspan="2" align="right">         <input type="submit" value="Ok">         <input type="reset" value="Отмена">       </td>     </tr>   </table> </form>

В данной форме вводятся поля «Фамилия», «Имя», «Отчество». Тип поля ввода для всех полей: текстовое поле. Атрибут name в атрибутах ввода задает имя поля, которое в дальнейшем увидит скрипт PHP, обрабатывающий данную форму. Форма также содержит две кнопки: «Ok» и «Отмена». При нажатии кнопки Ok будет выполнен запрос по методу POST, этот запрос обработает HTTP – сервер и вызовет скрипт ex4.php. Метод обработки запроса задан в теге form в параметре method. Скрипт – обработчик клиентского запроса задан в параметре action.

Cкрипт ex4.php, обрабатывающий полученные данные:

<?php // Выводим имена параметров и их значения foreach( $_REQUEST as $key => $val ) {   echo "{$key} = {$val} <br />"; } ?>

Html - формы, продолжение

В качестве имен можно использовать и элементы массивов.

Пример:

<form action="ex5.php" method="POST">   <table border="0">     <tr>       <td>Фамилия:</td>       <td><input type="text" name="array1[0]"></td>     </tr>     <tr>       <td>Имя:</td>       <td><input type="text" name="array1[1]"></td>     </tr>     <tr>       <td>Отчество:</td>       <td><input type="text" name="array1[2]"></td>     </tr>     <tr>       <td colspan="2" align="right">         <input type="submit" value="Ok">         <input type="reset" value="Отмена">       </td>     </tr>   </table> </form>

Скрипт обработки ex5.php:

<?php $arr = $_REQUEST[ "array1" ]; // Выводим значения параметра array1 foreach( $arr as $key => $val ) {   echo "{$key} = {$val} <br />"; } ?>

Можно не указывать ключ элемента массива, в этом случае ключ будет присвоен обычным для PHP способом (<максимальный целочисленный ключ в массиве> + 1).

Предыдущий пример можно переписать так:

<form action="ex5.php" method="POST">   <table border="0">     <tr>       <td>Фамилия:</td>       <td><input type="text" name="array1[]"></td>     </tr>     <tr>       <td>Имя:</td>       <td><input type="text" name="array1[]"></td>     </tr>     <tr>       <td>Отчество:</td>       <td><input type="text" name="array1[]"></td>     </tr>     <tr>       <td colspan="2" align="right">         <input type="submit" value="Ok">         <input type="reset" value="Отмена">       </td>     </tr>   </table> </form>