Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещев Web - программирование 2015-02-17.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.93 Mб
Скачать

2.10. Формы

При вводе данных в форму используются различные управляющие элементы. Одна страница может содержать несколько форм. Описание формы заключается в следующие теги HTML:

<form action = действие method = "метод"

элементы формы

</form>

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

1) get передает все данные формы в конце URL. Из-за различных ограничений, связанных со спецификой языков и длиной данных, этот метод применяется редко.

2) post передает все данные формы в теле запроса. Этот метод используется чаще, чем get.

2.10.1. Элементы для ввода информации.

Текстовое поле предназначено для ввода информации небольшого объема и имеет описание вида:

<input type="text" nаме="имя_переменной" size="N" maxlength="N" value="">

type - тип элемента (для текстовых полей - text);

name - имя переменной, в которой сохраняются введенные данные;

size - общий размер текстового поля в браузере;

maxlength - максимальное количество символов, вводимых в текстовом поле;

value - значение, отображаемое в текстовом поле по умолчанию.

Особой разновидностью текстовых полей является поле для ввода паролей. Оно работает точно так же, как обычное текстовое поле, однако вводимые символы заменяются звездочками. Чтобы создать в форме поле для ввода паролей, достаточно указать type="password" вместо type="text".

Текстовая область используется для ввода несколько больших объемов текста и имеет описание вида:

<textarea name="имя_переменной" rows="N" cols="N" value=""></textarea>

name — имя переменной, в которой сохраняются введенные данные;

row / cols s — количество строк / столбцов в текстовой области.

2.10.2. Элементы форм, ориентированные на ввод с помощью мышки

Флажки (checkboxes) используются в ситуациях, когда пользователь выбирает один или несколько вариантов из готового набора.

Синтаксис определения флажка:

<input type="checkbox" name="имя переменной" value="начальное значение">

name - имя переменной, в которой сохраняются введенные данные (в данном случае - состояние элемента);

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

Переключатель (radio button) представляет собой разновидность флажка; он работает практически так же за одним исключением - в любой момент времени в группе может быть установлен лишь один переключатель.

Синтаксис определения переключателя:

<input type="radio" name="имя_переменной" value="начальное_значение">

Как видите, синтаксис почти не отличается от определения флажка.

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

Синтаксис определения раскрывающегося списка:

<select name="имя_переменной"> value="начальное_значение">

<option valuе="имя_переменной1 ">

<option value="имя_переменнойN">

</select>

name - имя переменной, в которой сохраняются строка, выбранная в списке;

value - значение, отображаемое в списке по умолчанию.

Скрытые поля не отображаются в браузере и обычно используются для передачи данных между сценариями. В РНР существует другое средство - сеансовые переменные.

Синтаксис определения скрытого поля:

<input type="hidden" name="имя_переменной" value="начальное_значение">

name - имя переменной, в которой сохраняются скрытые данные;

value- значение, по умолчанию сохраняемое в скрытом поле.

Пользователь может командой View Source вывести скрытые значения.

Кнопка отправки данных инициирует действие, заданное атрибутом action тега <form>.

Синтаксис определения:

<input type="submit" name="имя переменной" value="текст_на_кнопке">

type - тип элемента (для кнопки отправки данных — submit);

value - текст, по умолчанию отображаемый на кнопке.

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

Кнопка сброса отменяет все изменения, внесенные в элементы формы. Синтаксис определения:

<input type="reset" value=" текст _на_кнопке">

Пример: передача данных формы из одного сценария в другой

В первом примере пользовательские данные вводятся на одной странице и отображаются на другой.

<HTML><head> <title>Пример</title></head>

<body bgcolor="#ffffff" text="#000000" link="#cbda74" vlink="#808040" alink="#808040">

<form action="Primer1-1.php" method="post">

<b>Получите информацию!</b><br>

Ваше имя:<br>

<input type="text" name="name" size="20" maxlength="20" value=""><br>

Ваш почтовый адрес:<br>

<input type="text" name="email" size="20" maxlength="40" value=""><br>

<input type="submit" value="Продолжить">

</form>

</body> </HTML>

Когда пользователь щелкает на кнопке отправки данных (кнопка Продолжить!), форма обращается к программе Пример.php, текст, которой, приведен ниже.

<HTML> <head><title>Пример</title></head>

<body bgcolor="#ffffff" text="#000000" link="#cbda74" vlink="#808040" alink="#808040">

<?

// Вывести имя и адрес электронной почты.

$name=$_POST[name]; //чтение значения поля name из массива значений полей

$email=$_POST[email]; //чтение значения поля email из массива значений полей

print "Имя $name Почтовый арес $email";

?>

</body> </HTML>