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



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





Интернет-магазин бытовой техники предлагает духовки с функцией микроволновки и другая продукция.

vasko.ru




Что такое формы и для чего они нужны




Автор: Котеров Д.В.

Итак, мы знаем, что наиболее распространенными методами передачи данных между браузером и сценарием являются GETи POST. Однако вручную задавать строки параметров для сценариев и к тому же URL-кодировать их, согласитесь, довольно утомительно. Давайте посмотрим, что же язык HTML предлагает нам для облегчения жизни.

Сначала рассмотрим метод GET. Даже программисту довольно утомительно набирать параметры в URL вручную. Всякие там ., &, %... Представьте себе пользователя, которого принуждают это делать. К счастью, существуют удобные возможности языка HTML, которые, конечно, поддерживаются браузерами. И хотя я уже замечал, что в этой книге будет лишь немного рассказано о HTML, о формах мы поговорим очень подробно.

Итак, пусть у нас на сервере в корневом каталоге размещен файл сценария script.cgi(наверное, вы уже заметили, что расширение cgi принято присваивать CGI-сценариям, хотя, как уже упоминалось, никто не мешает вам использовать любое другое слово). Этот сценарий распознает 2 параметра: nameи age. Где эти параметры задаются, мы пока не решили. При переходе по адресу http://www.somehost.com/script.cgiон должен отработать и вывести следующую HTML-страницу:


<html><body>
Привет, name! Язнаю, Вамage лет!
</body></html>


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

Передача параметров "вручную"

Давайте будем включать параметры прямо в URL, в строку параметров. Таким образом, если запустить в браузере

http://www.somehost.com/script.cgi.name=Vasya&age=20

мы получим страницу с нужным результатом:


<html><body>
Привет, Vasya! Язнаю, Вам20 лет!
</body></html>


Заметьте, что мы разделяем параметры символом &, а также используем знак равенства =. Это неспроста. Сейчас мы обсудим, почему.

Использование формы

Как теперь нам сделать, чтобы пользователь мог в удобной форме ввести свое имя и возраст. Очевидно, нам придется создать что-то вроде диалогового окна Windows, только в браузере. Итак, нам понадобится обычный HTML-документ (например, с именем form.html и расположенный в корневом каталоге) с элементами этого диалога — полями ввода текста и кнопкой, при нажатии на которую запустится наш сценарий. Текст этого документа приведен в листинге 2.1.

Листинг 2.1. Документ /form.html с формой

<html><body>
<form action=script.cgi method=GET>
Введитеимя: <input type=text name="name" value="Неизвестный">

Введитевозраст: <input type=text name="age" value="неопределенный">

<input type=submit value="Нажмите кнопку!">
</body></html>

Замечание

Вы можете заметить, что некоторые атрибуты тэгов я написал в кавычках (например, name="age"), а некоторые — нет. Как показывает практика, везде, где это не конфликтует с синтаксисом HTML (то есть, в текстах, в которых нет пробелов и букв кириллицы), можно кавычки опускать. Мне лично нравится заключать значения полей nameи valueв кавычки, а остальные — писать без них. Правда, стандарт на язык HTML это не допускает (он требует обязательного наличия кавычек), но большинство браузеров относится к этому весьма и весьма лояльно.

Загрузим наш документ в браузер.

Теперь, если занести в поле nameсвое имя, а в поле для возраста — возраст и нажать кнопку Нажмите кнопку!, браузер обратится к сценарию по URL, указанному в атрибуте action тэга <form> формы:

http://www.somehost.com/script.cgi

Он передаст через .все параметры, которые помещены внутрь тэгов inputв форме, отделяя их амперсандом (&). Имена полей и их значения будут разделены знаком =. Теперь вы понимаете, почему мы с самого начала использовали эти символы.

Итак, реальный URL, который будет сформирован браузером при старте сценария, будет таким (учитывая, что на странице был пользователь по имени Vasya и ему 20 лет):

http://www.somehost.com/script.cgi.name=Vasya&age=20

Самое, пожалуй, полезное, что можно вынести из рассмотренного примера, — то, что все URL-перекодирования и преобразования осуществляются браузером автоматически. То есть, пользователю теперь совершенно не нужно об этом задумываться и ломать голову над путаницей шестнадцатеричных кодов и управляющих символов.
К началу статьи





Добавил: LedWormДата публикации: 2006-01-15 14:39:43
Рейтинг статьи:3.00 [Голосов 10]Кол-во просмотров: 3574

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Вы купите понравившуюсь программу?
Да, если не найду Crack
19% (40)
С удовольствием если будут деньги
23% (48)
Нет, потомучто не знаю как заплатить
6% (12)
Нет, принципиально!
17% (37)
Нет, у меня никогда нет денег!
14% (29)
Да, если разработчик будет русским
9% (20)
Нет, не хочу париться с оплатой
13% (27)

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

 
eXcode.ru » Статьи » Web