Автор статьи: Головин Андрей
Чаще всего серверные скрипты используются для обработки результатов заполнения форм. Например, в гостевой книге пользователь вводит данные в форму, которая затем обрабатывается на сервере. Отвечая на какой-либо опрос пользователь, аналогично, устанавливает значение определенных полей формы.
Напомню, какие тэги и атрибуты должна содержать форма:
<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, значение его передается в форму. Это бывает полезно, например, когда один обработчик может производить не одно, а несколько действий. С помощью такого поля мы можем задать тип действия, которое мы хотим произвести с данными формы.
На сегодня все. В следующий раз рассмотрим как передаются значения различных элементов, которые используются в формах.