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


Передача формы в виде строки запроса


В этой форме необходимо обратить внимание, прежде всего, на атрибут method="get". До сих пор для передачи информации формы использовался метод POST. Этот метод передает пары имя/значение из формы на сервер как отдельный поток данных в URL запроса атрибута ACTION. В данном случае метод GET передает пары имя/значение как строку запроса, присоединенную к URL в параметре ACTION.

Причина применения метода GET в этом приложении состоит в желании получить согласованность с предыдущими ссылками на категории объектов. Эти ссылки передают выбранную категорию продуктов на страницу search.php как строку запроса. Эта форма делает то же самое для поиска по ключевым словам. Когда посетитель вводит слово или фразу в текстовое поле и нажимает кнопку отправки, в форме создается URL

search.php?Criterion=value

и значение в текстовом поле соединяется с именем Criterion для передачи на сервер. Таким образом, когда страница search.php получает имя категории или ключевое слово, они будут получены в форме строки запроса, различаясь только именами и значениями:

search.php?Category=value из ссылки search.php?Criterion=value из формы

Отметим также, что текстовое поле имеет значение строки запроса Criterion, которая передается на сервер, когда посылается форма:

<input type="text" name="Criterion" class="textbox" size="12" value="<?php echo $_GET[Criterion]?>"

Когда посылается эта форма, создается URL для страницы search.asp и в него добавляется строка запроса, содержащая введенное в это поле значение. Помните также, что файл menu.inc, частью которого является эта форма, появляется на всех страницах, включая страницу search.php. Поэтому, когда загружается страница serach.php, вместе с этой формой, содержащейся в файле menu.inc, текстовое поле отражает переданное на страницу значение Criterion. Поэтому значение присутствует в текстовом поле, хотя оно находится в другой форме на другой странице.



Содержание раздела