Учебное пособие: Web-программирование. Обработка HTML-форм
3.2. Второй пример уязвимости
3.3. Порядок трансляции переменных
4. ПРИЛОЖЕНИЯ, ХРАНЯЩИЕ ДАННЫЕ О РЕГИСТРАЦИИ ПОЛЬЗОВАТЕЛЕЙ В БАЗЕ ДАННЫХ MySQL
5. ЗАДАНИЕ НА САМОСТОЯТЕЛЬНУЮ РАЗРАБОТКУ
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
Введение
Одно из наиболее распространенных приложений любого языка создания серверных сценариев – обработка HTML - форм. Web-программирование в большей части представляет собой обработку различных данных, введенных пользователем.
РНР облегчает задачу обработки и разбора форм, поступивших из браузера, так как в язык на самом нижнем уровне встроены все необходимые возможности. Поэтому программисту не приходится даже и задумываться над особенностями протокола HTTP и размышлять, как же происходит отправка и прием ро s т -форм или даже загрузка файлов.
1. СОЗДАНИЕ HTML - ФОРМ
Работая с формами можно вводить текст в поле ввода, выбирать пункт меню, отмечать флажком правильный ответ, нажимать кнопку и т.д. При этом всегда ожидается от документа осмысленная реакция.
1.1. Элементы форм
Форма в HTML -документе реализуется тегом-контейнером FORM , в котором задаются все управляющие элементы — поля ввода, кнопки и т.д. Если управляющие элементы указаны вне содержимого тега FORM , то они не создают форму, а используются для построения пользовательского интерфейса на WEB -странице, то есть для привнесения в нее различных кнопок, флажков, полей ввода. Обработка таких элементов производится индивидуально в рамках самого HTML -документа с помощью включенных в него скриптов. А могут вообще никак не обрабатываться. Например, управляющий элемент TEXTAREA часто используется для создания окна с полосой прокрутки внутри документа для вывода большого текста, который играет второстепенную роль. Обычно так отображаются тексты лицензионных соглашений, тексты больших комментариев или правила пользования данным WEB -ресурсом. Имена элементам формы присваиваются через их атрибут NAME . Каждый элемент формы имеет начальное, используемое по умолчанию, и конечное значения, которые являются символьными строками. Начальные значения элементов не меняются, благодаря чему может осуществляться сброс значений, указанных пользователем. Результатом этого действия будет установка всех управляющих элементов формы в своих первоначальных используемых по умолчанию значениях.
В HTML определены следующие типы управляющих элементов:
● Кнопки — задаются с помощью элементов BUTTON и INPUT . Различают:
○ кнопки отправки — при нажатии на них отправляются формы серверу;
○ кнопки сброса — при их нажатии устанавливают управляющие элементы в первоначальные значения;
○ прочие кнопки — кнопки, для которых не указано действие, выполняемое по умолчанию при их нажатии.
● Зависимые переключатели (переключатели с зависимой фиксацией) — задаются элементом INPUT и представляют собой переключатели «вкл\выкл». Если несколько зависимых переключателей имеют одинаковые имена, то они являются взаимоисключающими. Это значит, что если одна из них ставится в положение «вкл», то все остальные автоматически — в положение «выкл». Именно это и является преимуществом их использования.
● Независимые переключатели (переключатели с независимой фиксацией) — задаются элементом INPUT и представляют собой переключатели «вкл\выкл», но в отличие от зависимых, независимые переключатели могут принимать и изменять свое значение независимо от остальных переключателей. Даже если последние имеют такое же имя.
● Меню — реализуется с помощью элементов SELECT, OPTGROUP и OPTION . Меню предоставляют список возможных вариантов выбора.
● Ввод текста — реализуется элементами INPUT , если вводится одна строка, и элементами TEXTAREA — если несколько строк. В обоих случаях введенный текст становится текущим значением управляющего элемента.
● Выбор файлов — позволяет вместе с формой отправлять выбранные файлы, реализуется HTML -элементом INPUT .
● Скрытые управляющие элементы — создаются управляющим элементом INPUT .
1.2. Тег FORM - контейнер форм
Форма реализуется тегом-контейнером FORM . Тег своими атрибутами указывает адрес сценария, которому будет послана форма, способ пересылки и характеристику данных, содержащихся в форме. Начальный и конечный теги FORM задают границы формы. Их указание является обязательным.
Атрибуты тега FORM :
● action — единственный обязательный атрибут. В качестве значения этого атрибута указывают URL -адрес запрашиваемой CGI -программы. Эта программа будет обрабатывать данные, содержащиеся в форме. Допустимо использовать запись MAILTO:URL , благодаря которой форма будет послана по электронной почте. Если атрибут ACTION все-таки не указан, то содержимое формы будет отправлено на URL -адрес, с которого загружалась данная WEB-страница.
● method — определяет метод HTTP , используемый для пересылки данных формы от браузера к серверу. Атрибут METHOD может принимать два значения: get или post .
● enctype — необязательный атрибут. Указывает тип содержимого формы, используемый для определения формата кодирования при ее пересылке. В HTML определены два возможных значения для атрибута ENCTYPE :
● APPLICATION/X-WWW-FORM-URLENCODED (используется по умолчанию).
● MULTIPART/FORM-DATA.
1.3. Тег INPUT и способы его использования
Тег INPUT позволяет создавать внутри формы поля ввода строки текста, имени файла, пароля и др. У INPUT нет конечного тега. Атрибуты и особенности использования INPUT зависят от способа его использования.
1.3.1. Однострочные поля ввода