Skip to content

Latest commit

 

History

History
170 lines (168 loc) · 11.3 KB

5.1_sozdanie-web-form.md

File metadata and controls

170 lines (168 loc) · 11.3 KB

5.1 Элементы управления HTML

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

Элемент управления Тег Описание
Выключатель (checkbox) < INPUT TYPE=CHECKBOX> Выключатель, идеален для ввода логических переменных.
Кнопка (button) < BUTTON> Кнопка с произвольным внешним видом.
Кнопка-изображение(image map) < INPUT TYPE=IMAGE> Графическое изображение, на котором выделены области различной формы (прямоугольники, овалы, многоугольники] для гиперссылок на другие страницы.
Многострочный текст < TEXTAREA> Поле,предназначенное для ввода нескольких строчек текста.
Отправка < INPUT TYPE=SUBMIT> Кнопка, предназначенная для завершения ввода данных и отправке их на web-сервер.
Пароль < INPUT TYРE=PASSWORD> Текстовое поле для ввода пароля. При вводе символы пароля не отображаются на экране, заменяясь звездочками.
Переключатель (radiobutton) < INPUT TYPE=RADIO> Переключатель, предназначенный дпя выбоpa одного из нескольких вариантов.
Скрытое поле < INPUT TYPE=HIDDEN> Предназначен для хранения текста, который не виден на экране, но доступен при обработке формы
Сброс < INPUT TYPE=RESET> Кнопка, предназначенная для очистки всех полей формы.
Список < SELECT>, < OPTION>, < OPTGROUP> Многострочный список, предназначенный для выбора одного или нескольких элементов.
Текстовое поле < INPUT TYPE=TEXT> Поле, предназначенное для ввода однострочного текста или других данных.
Файл < INPUT TYPE=FILE> Файл для загрузки на сервер.

Создание web-форм

Прежде чем приступить к обработке данных в PHP-скрипте, необходимо создать web-форму, где их можно было бы ввести. Для этого используется HTML-тег <F0RM>. Он имеет следующие атрибуты:

  • ACTION. Атрибут задает URL скрипта, который будет обрабатывать данные, введенные в форме. Если атрибут не задан, то по умолчанию обработчиком будет назначен текущий скрипт или документ.
  • METHOD. Определяет способ передачи данных скрипту-обработчику. Если используется метод GET (он же является умолчанием), то все поля, описанные в форме, передаются в строке URL в следующем виде: URL?name=value&name=value. При использовании метода POST поля формы кодируются таким же образом, но передаются через скрытые переменные, не используя строку URL. Метод POSTобычно используется при передаче большого объема данных или если необходимо скрыть от пользователя передаваемый набор полей.
  • TARGET. Задает имя фрейма, в котором будут отображен результат выполнения обработчика формы. Например, требуется обработать данные, вводимые пользователем на странице phpreader.html, при помощи скрипта phpreader.php, расположенного в том же каталоге. В данном случае атрибуту ACTION присваивается значение "phpreader.php" (если бы скрипт-обработчик находится в другом каталоге или даже на другом сайте, то следовало бы указать относительный или абсолютный путь к нему, например, httр://www.orioner.ru/рhp/рhpreader.php). Пример такой формы приведен ниже.
<HTML>
    <HEAD>
        <TITLE>
            Пример HTML-формы
        </TITLE>
    </HEAD>
    <BODY>
        <H1>
            Пример HTML-формы
        </H1>
        <FORM METHOD="POST" ACTION="phpreader.php">
            ...
        </FORM>
    </BODY>
</HTML>

Теперь следует наполнить форму полями, например выключателями, переключателями или текстовыми полями. После того как пользователь внесет все необходимые данные и нажмет кнопку «Отправить», будет запущен скрипт phpreader.php, и все данные будут переданы ему. Для отправки предназначен специальный тип кнопки, как показано на примере ниже:

<HTML>
    <HEAD>
        <TITLE>
            Пример HTML-формы
        </TITLE>
    </HEAD>
    <BODY>
        <H1>
            Пример HTML-формы
        </H1>
        <FORM METHOD="POST" ACTION="phpreader.php">
            <INPUT TYPE="SUBMIT" VALUE="OK">
        </FORM>
    </BODY>
</HTML>

Выделенный жирным шрифтом тег отображает кнопку с надписью «ОК», предназначенную для отправки данных. Надпись на кнопке может быть произвольной и задается атрибутом VALUE, например:

<INPUT TYPE ="SUBMIT" VALUE="Зарегистрироваться">

Обычно рядом с кнопкой «Отправить» располагается кнопка «Сброс» для удаления всех данных, введенных в форму (или для установки их в значения по умолчанию). Ниже приведен пример такой кнопки (как и в предыдущем случае, надпись на кнопке может быть произвольной):

<FORM METHOD="POST" ACTION="phpreader.php">
    <INPUT TYPE ="SUBMIT" VALUE="OK">
    <INPUT TYPE ="RESET" VALUE="Стереть">
</FORM>

Каким же образом обратиться к данным, переданным из формы скрипту? Если используется метод POST, для этого используется массив $_POST, как показано в следующем разделе. Для метода GET используется массив $_GET. Оба этих массива являются суперглобальными, что означает, что они доступны в любой функции без необходимости применения оператора global. Еще один суперглобальный массив $_REQUEST содержит объединение данных из $_GET и $_POST и может использоваться в тех случаях, когда скрипт может вызываться различными способами.

Замечание


Суперглобальные массивы $_GET, $_P0ST, $_REQUEST появились, начиная с PHP 4.1.0. До этой версии вместо $_GET и $_P0ST использовались глобальные массивы $HTTP_GET_VARS и $HTTP_POST_VARS, которые внутри функций требуют обязательного объявления при помощи оператора glоbal. Начиная с РНР 6.0, эти массивы перестали поддерживаться.