» Главная
eXcode.ru » Статьи » Web
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 6





Ведущий раздела: LedWorm
Описание: Статьи по WEB-технологиям


Подразделы:

XML (5)XSLT (4)Apache (7)
Flash MX для проф. (13)Введение в CGI (6)Введение в HTML (7)
Применение CSS (5)Основы сетей передачи данных (14)Основы локальных сетей (19)

«1» «2» «3» «4» «5» 

Тэг <input> — различные поля ввода
Существует много разновидностей этого тэга, отличающихся параметром type. Перечислю наиболее употребительные из них. В квадратных скобках я буду указывать необязательные параметры, а также параметры, отсутствие которых иногда имеет смысл (будем считать, что параметр nameявляется обязательным, хотя это и не так в силу вышеизложенных рассуждений). Ни в коем случае не набирайте эти квадратные скобки!


Формы
До сих пор из всех полей формы мы рассматривали только текстовые поля и кнопки отправки (типа submit). Давайте теперь поглядим, в каком виде приходят данные и от других элементов формы (а их существует довольно много).


Расшифровка URL-кодированных данных
Если бы в предыдущем примере мы ввели параметры, содержащие, например, буквы кириллицы, то сценарию они бы поступили не в "нормальном" виде, а в URL-закодированном. Пожалуй, ни один сценарий не обходится без функции расшифровки URL-кодированных данных. И это совсем не удивительно. Радует только то, что такую функцию нужно написать один раз, а дальше можно пользоваться ей по мере необходимости.


Передача параметров методом POST
В отличие от метода GET, здесь параметры передаются сценарию не через переменные окружения, а через стандартный поток ввода (в Си он называется stdin). То есть программа должна работать так, будто никакого сервера не существует, а она читает данные, которые вводит пользователь с клавиатуры. (Конечно, на самом деле никакой клавиатуры нет и быть не может, а заправляет всем сервер, который "изображает из себя" клавиатуру.)


Передача параметров методом GET
Тут все просто. Все параметры передаются единой строкой (а именно, точно такой же, какая была задана в URL после .) в переменной QUERY_STRING. Единственная проблема — то, что все данные поступят URL-кодированными. Так что нам понадобится функция декодирования. Но это отдельная тема, пока мы не будем ее касаться.


Передача информации CGI-сценарию

Проблема приема параметров, заданных пользователем (с точки зрения сценария — все равно, через форму или вручную), несколько сложнее. Мы уже частично затрагивали ее и знаем, что основная информация приходит через заголовки, а также (при использовании метода POST) после всех заголовков. Рассмотрим эти вопросы подробнее.


Пример CGI-сценария
Настало время привести небольшой сценарий на Си, который иллюстрирует некоторые возможности, которые были описаны выше (листинг 3.1)


Передача документа пользователю
Вначале рассмотрим более простой вопрос: как программа посылает свой ответ (то есть документ) пользователю.


CGI изнутри
До сих пор мы рассматривали лишь теоретические аспекты CGI. Мы знаем в общих чертах, как и что передается пользователю сервером и наоборот. Однако как же все-таки должна быть устроена CGI-программа (CGI-сценарий), чтобы работать с этой информацией. Откуда она ее вообще получает и куда должна выводить, чтобы переслать текст пользователю.


Метод POST и формы
Что же теперь нужно сделать, чтобы послать данные не методом GET, а методом POST. Нетрудно догадаться: достаточно вместо method=GETуказать method=POST. Больше ничего менять не надо.


«1» «2» «3» «4» «5» 

Имя:

Пароль:



Регистрация

Каким языком программирования вы чаще пользуйтесь?
C++
27% (108)
Delphi
47% (190)
PHP
8% (34)
Basic
3% (13)
Assembler
3% (11)
ASP
1% (6)
Perl
3% (11)
JAVA
3% (14)
Другой
4% (17)

Проголосовало: 404
Для приманивания программиста необходима любая деталь, которую вы сможете открутить от заранее купленного компьютера. Небрежно помахивая ею, приближайтесь к намеченной особи, бормоча какие-либо компьютерные термины. После этого попросите починить ваш якобы случайно сломавшийся компьютер. Программист пойдет за вами, как бы впав в состояние транса. Дома угостите его сардельками и пивом. Скорее всего, программист уже никуда не уйдет.
Рейтинг: 8.2/10 (4)
Посмотреть все анекдоты