WebScript.Ru
C:\   главная  ::   о сайте  ::  каталог скриптов  ::  гнездо  ::  форум  ::   авторам  :: Новостройки ::   ХОСТИНГ  ::

|| разделы::
|| поиск по сайту::

|| реклама::
|| новости почтой::
Рассылки Subscribe.Ru ::



Новости сайта WebScript.Ru
Популярные статьи

Hot 5 Stories

|| рекомендуем::




Все значения элементов форм.


Прислал: NAS [ 01.10.2000 @ 14:26 ]
Раздел:: [ Статьи по PHP ]


Все значения элементов форм.

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

Тип Описание
TEXT Поле ввода текста
SELECT Выбор из списка.
RADIO Радио-кнопка. Используется для выбора одного из предложенных вариантов.
CHECKBOX Кнопка-флажок. Используется для выбора варианта.
SUBMIT Кнопка, которая инициирует вызов обработчика формы.
IMAGE Изображение. Используется как кнопка типа SUBMIT
<TEXTAREA> Область ввода текста.

Теперь рассмотрим как значения и состояния этих элементов передаются в обработчик.

TEXT - здесь все просто. Введенное значение передается в виде: имя=значение (для удобства будем предполагать, что метод передачи значений установлен в GET). В обработчике значение можно получить из переменной $имя.

SELECT - значение берется из атрибута VALUE выбранного элемента <OPTION>. Например для <SELECT> такого вида:

<SELECT NAME="mySelect">
<OPTION VALUE="test1">test1</OPTION>
<OPTION VALUE="test2">test2</OPTION>
<OPTION VALUE="test3">test3</OPTION>
</SELECT>

строка будет содержать mySelect=test1, в случае выбора первого элемента списка. Переменная в скрипте будет выглядеть так: $mySelect.

Элемент <SELECT> может иметь атрибут MULTIPLE, что позволяет выбирать несколько значений из списка. В этом случае к имени элемента <SELECT> необходимо добавить пару квадратных скобок: имя[]. Строка будет выглядеть так: имя[]=значение&имя[]=значение..., а в скрипте доступ к выбранным значениям можно осуществить, как к элементам массива $имя.

В случае, если не заданы атрибуты VALUE, то передаваться будет то, что содержиться между тэгами <OPTION> и </OPTION>.

RADIO - Здесь значение будет браться из атрибута VALUE, строка выглядит аналогично элементу типа TEXT. Доступ из скрипта, тоже аналогичен. Если вы забыли установить это значение, то будет передано значение on

CHECKBOX - если флажок установлен, то передается значение on, если флажок не установлен, то переменная не передается вобще. Таким образом, установку флажка в скрипте можно проверить, сравнив значение переменной $имя с "on". Переменная и строка выглядят аналогично элементу типа TEXT.

SUBMIT - кнопка SUBMIT, как ни странно, тоже может передавать значение в обработчик. Я не могу себе предствить зачем это нужно, но тем не менее. Значение устанавливается из атрибута VALUE. Все остальное аналогично полю типа TEXT.

IMAGE - Самый интересный элемент. В обработчик передаются два значения: имя.x и имя.y, которые представляют собой координату указателя мыши относительно верхнего левого угла изображения. Строка выглядит следующим образом: имя.x=значение&имя.y=значение. В скрипте устанавливаются переменные $имя_x и $имя_y.

<TEXTAREA> - абсолютно аналогично элементу типа TEXT.

При пересылки строковых значений они перекодируются специальным образом. Все символы, кроме алфавитно-цифровых и знака подчеркивания "_" заменяются знаком процента "%" и двумя шестнадцетиричными цифрами кода. Пробелы заменяются на знак "+". При установке переменных в скрипте производится обратное декодирование.

Еще одну интересную особенность предоставляет PHP. Мы можем каждому элементу присвоить имя переменной массива. Например:

<FORM NAME="testForm" ACTION="test.php3">
name: <INPUT TYPE="text" NAME="personal[name]"><BR>
e-mail: <INPUT TYPE="text" NAME="personal[email]"><BR>
<INPUT TYPE="SUBMIT">
</FORM>

В этом случае мы сможем получить доступ к значениям, обращаясь к элементам ассоциативного массива: $personal["name"] и $personal["email"].

Кроме того, если включена директива PHP <?php_track_vars?>, то, при передаче значений, будут заполнены массивы $HTTP_GET_VARS и $HTTP_POST_VARS, для соответствующих методов передачи переменных в обработчик.

© Андрей Головин //exper.ural.ru/




 :::::  boka пишет 19.11.2000 @ 23:08 
Вот насчет Image я не знал. Спасибо !
 :::::  Serjis пишет 23.11.2000 @ 14:33 
Еще есть элемент FILE, а о нем ни слова
 :::::  Underson пишет 23.06.2001 @ 10:35 
И про hidden тоже.
 :::::  Lupi пишет 31.08.2001 @ 18:45 
И Reset тоже...
 :::::  vint пишет 21.05.2003 @ 15:56 
NAS, супер, спасибо. Я нигде больше не нашел, что при multiple в select можно так делать. Спасибо!
 :::::  Splash пишет 29.06.2003 @ 23:23 
Подскажите пожалуйста такую вещь.
Хотелось бы, чтобы у кнопки (тип submit) было имя (name) и она содержала в себе определённое значение (value). Но только так, чтобы содержимое этой переменно на ней не отображалось. Т.е. говорят, что есть какой-то параметр (типа caption...), чтобы независимо от value можно было задать надпись на кнопке.
Такое реально существует? Кто нибудь в курсе? А то сам пока не могу ничего такого найти...
 :::::  Alex пишет 30.06.2003 @ 11:20 
пишите мне по поводу программирования
 :::::  phobos пишет 26.08.2003 @ 15:30 
ja vot kokaraz rojus v poiskah opisanija type="browse" (ispolzovat s php)
mpzet kto kinut opisanee, a ludshe na:
alekseis@pisem.net
 :::::  SERGIO пишет 06.01.2004 @ 01:47 
Всё чётко и понятно!!! Маладец
 :::::  Jet пишет 13.01.2005 @ 20:27 
Во-первых, "кнопка SUBMIT, как ни странно, тоже может передавать значение" - ничего странного: это даёт тебе возможность проверить if ($_GET['SUBMIT']=="MyString").

Во-вторых, судя по использованию $имя вместо $_GET['имя'], у тебя register_globals=on, что небезопасно (http://www.php.net/manual/ru/security.globals.php) ИМХО лучше не полениться и дописать $_GET (это делает код более читабельным и однозначным)

В-третьих, а вы вообще на http://www.w3.org/TR/html4/interact/forms.html бывали? Там же всё это описано! Если с инглишем не дружите, то русский перевод есть
- здесь http://www.w3.org/MarkUp/html4-updates/translations#Russian
- здесь http://pyramidin.narod.ru/html401/index.htm


Имя:
Email:
URL

Введите сумму двух чисел девять и шесть (девять+шесть=?)
Запомнить мою информацию

* Html запрещен* Ваш E-mail опубликован не будет.

Copyright © 2000-2001 WebScript.Ru nas@webscript.ru
Design © 2001 by Parallax Design Studio (aka Spectator.ru)
Все торговые марки и авторские права на эту страницу принадлежат их соответствующим владельцам.
Сгенерировано за: 0.0208499