Автор статьи: Головин Андрей
Чаще всего серверные скрипты используются для обработки результатов заполнения форм. Например, в гостевой книге пользователь вводит данные в форму, которая затем обрабатывается на сервере. Отвечая на какой-либо опрос пользователь, аналогично, устанавливает значение определенных полей формы.
Напомню, какие тэги и атрибуты должна содержать форма:
<FORM NAME=»имя_формы»
ACTION=»путь_к_обработчику»
METHOD=»метод_передачи_переменных»>
поля ввода…
</FORM>
Цветом выделены те элементы, которые пригодятся нам в этом опыте. Прежде всего, разберемся, что такое «обработчик». Это скрипт на сервере, в который будут переданы значения полей ввода.
Каждое поле ввода имеет атрибут NAME, которое будет передано в обработчик вместе со своим значением. Существует два метода передачи данных: GET и POST. Их отличие состоит в том, что при использовании метода GET значения полей присоединяются к URL, указанному в атрибуте ACTION. Происходит это таким образом:
http://site.domain/action.php3?имя=значение&…имя=значение
Пары «имя=значение» создаются для каждого элемента ввода, для которого указано имя атрибутом NAME.
В случае использования метода POST значения полей передаются в заголовке запроса к серверу. Формат передачи при этом методе нам, в общем-то, не интересен. Просто примем к сведению, что значения передаются «незаметно» для обычного пользователя.
Теперь приступим непосредственно к рассмотрению темы опыта. При исполнении скрипта на языке PHP (напомню, что я рассматриваю именно этот язык так как он мне наиболее симпатичен) создаются переменные с именами, соответствующими именам полей и содержащие соответствующие значения.
Предположим, что мы создали форму следующего вида:
<FORM ACTION=»mult.php3″ METHOD=»GET»>
<INPUT TYPE=»text» NAME=»first» SIZE=»4″ MAXLENGTH=»4″>
<INPUT TYPE=»text» NAME=»second» SIZE=»4″ MAXLENGTH=»4″>
<INPUT TYPE=»Submit» VALUE=»Умножить»>
</FORM>
Скрипт, содержащийся в файле mult.php3 может выглядеть следующим образом:
<?php
Header(«Content-type: text/html»);
echo «$first умножить на $second получится «, $first*$second;
?>
Необходимо напомнить, что существует специальный тип поля HIDDEN. Это поле, которое не выводится на экран, но, если ему присвоено имя атрибутом NAME, значение его передается в форму. Это бывает полезно, например, когда один обработчик может производить не одно, а несколько действий. С помощью такого поля мы можем задать тип действия, которое мы хотим произвести с данными формы.
На сегодня все. В следующий раз рассмотрим как передаются значения различных элементов, которые используются в формах.