Главная
К библиотеке


Передача переменных в скрипт.

Чаще всего серверные скрипты используются для обработки результатов заполнения форм. Например, в гостевой книге пользователь вводит данные в форму, которая затем обрабатывается на сервере. Отвечая на какой-либо опрос пользователь, аналогично, устанавливает значение определенных полей формы.

Напомню, какие тэги и атрибуты должна содержать форма:

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

На сегодня все. В следующий раз рассмотрим как передаются значения различных элементов, которые используются в формах.

http://exper.ural.ru
Hosted by uCoz