` | PARSER | документация |

parser

faqfaq
авторыавторы
документациядокументация

в действиив действии
куда говоритькуда говорить
жаргонжаргон

скачатьскачать

примерыпримеры
форумфорум

документация

3. Операторы Парсера

3.8. Формы, запросы, переменные окружения

3.8.1. Значения в полях формы. Оператор form

Формат вызова

^form[имя_поля]

Аргументы

имя_поля — имя поля формы или параметра, значение которого нужно получить.

Описание

Оператор возвращает значение указанного поля формы или параметра, переданного через URL в формате ?name=value. Данный оператор используется на страницах, которые вызываются в качестве скриптов. Оператор корректно работает при использовании обоих методов передачи данных, GET и POST.

Внимание! Для получения целочисленных значений категорически рекомендуется использовать оператор number (см. п. 3.8.2). В противном случае вы рискуете получить строку там, где ожидается число.

Примеры

На странице form.html пользователь может ввести в поля формы те или иные значения. После нажатия на кнопку OK будет загружена страница showvalues.html, отображающая введенные значения.


form.html

<HTML>
<HEAD><TITLE>
Форма</TITLE></HEAD>
<BODY>
<FORM ACTION="
showvalues.html">
   <P>
Имя:     <INPUT NAME="first_name"></P>
   <P>
Фамилия: <INPUT NAME="last_name"></P>
   <P><INPUT TYPE=SUBMIT VALUE="
OK"></P>
</FORM>
</BODY>
</HTML>


showvalues.html

<HTML>
<HEAD><TITLE>
Значения полей формы</TITLE></HEAD>
<BODY>
<P>
Имя:     ^form[first_name]</P>
<P>
Фамилия: ^form[last_name]</P>
</BODY>
</HTML>

Для вызова страницы showvalues.html можно также использовать URL с параметрами.

<HTML>
<HEAD><TITLE>
URL с параметрами</TITLE></HEAD>
<BODY>
<A HREF="
showvalues.html?first_name=John&last_name=Doe">John Doe</A>
</BODY>
</HTML>

3.8.2. Численные значения в полях формы. Оператор number

Формат вызова

^number[имя_поля]

Аргументы

имя_поля — имя поля, значение которого нужно получить.

Описание

Оператор делает то же, что и оператор form, но для целочисленных значений. Если значение, введенное в поле формы, не является числовым, оператор возвращает значение 0.

Примеры

^number[age]

3.8.3. Значение переменной QUERY_STRING. Оператор query

Формат вызова

^query[]

Аргументы

Отсутствуют.

Описание

Оператор возвращает строку запроса (значение переменной окружения QUERY_STRING), передаваемую в URI.

Замечание. Если значения параметров, которые требуется передать вызываемому скрипту, содержат символы, запрещенные протоколом HTTP, следует преобразовать эти значения с помощью оператора mangle (см. п. 3.8.8).

Примеры

На странице query.html посетитель может нажать на ссылку. После этого будет загружена страница showstring.html, отображающая переданную ей строку запроса.


query.html

<HTML>
<HEAD><TITLE>
Страница со строкой запроса</TITLE></HEAD>
<BODY>
<A HREF="
showstring.html?the_string">Показать строку запроса</A>
</BODY>
</HTML>


showstring.html

<HTML>
<HEAD><TITLE>
Строка запроса</TITLE></HEAD>
<BODY>

Строка запроса: ^query[]
</BODY>
</HTML>

3.8.4. Переменные окружения веб-сервера. Оператор env

Формат вызова

^env[имя_переменной_окружения]

Аргументы

имя_переменной_окружения — имя переменной окружения, задаваемой веб-сервером, значение которой требуется получить.

Описание

Оператор возвращает значение указанной переменной окружения, задаваемой веб-сервером.

Замечание. Со списком стандартных переменных окружения можно ознакомиться по адресу http://www.w3c.org/cgi. Веб-сервер Apache задает значения ряда дополнительных переменных.

Примеры

Вызов ^env[SERVER_NAME] вернет доменное имя веб-сервера, например www.design.ru.

3.8.5. URI страницы. Оператор uri

Формат вызова

^uri[]

Аргументы

Отсутствуют.

Описание

Оператор возвращает URI текущей страницы.

Примеры

Предположим, адрес страницы http://www.server.ru/abc/def.html?ghi. Тогда помещенный в ее код вызов ^uri[] вернет значение /abc/def.html?ghi.

3.8.6. Формирование множества значений поля. Оператор combine

Формат вызова

^combine[имя_поля_формы]

^combine[имя_поля_формы;символ_разделитель]

Аргументы

имя_поля_формы — имя поля формы, из значений которого требуется составить множество.

символ_разделитель — символ, которым будут разделены элементы множества.

Описание

Оператор возвращает значения указанного поля формы, разделенные заданным символом. По умолчанию в качестве символа-разделителя используется | (вертикальная черта).

Примеры

После нажатия на кнопку OK на странице будет отображено значение 1|2.

<HTML>
<HEAD><TITLE>
Составление множества значений поля</TITLE></HEAD>
<BODY>
<FORM>
   <P><INPUT TYPE=CHECKBOX NAME=
EXP VALUE=1></P>
   <P><INPUT TYPE=CHECKBOX NAME=
EXP VALUE=2></P>
   <P><INPUT TYPE=SUBMIT VALUE="
OK"></P>
</FORM>

Значения поля exp: ^combine[exp]
</BODY>
</HTML>

3.8.7. Определение типа и версии браузера. Оператор browser

Формат вызова

^browser[тип_браузера;номер_версии]

Аргументы

тип_браузера — предполагаемый тип браузера.

номер_версии — предполагаемая минимальная версия браузера.

Описание

Оператор возвращает номер версии браузера, если одновременно выполняются следующие условия:

  • тип браузера, в который загружается страница, совпадает с типом, указанным в первом аргументе;
  • номер версии, в который загружается страница, не превышает указанного во втором аргументе.

В остальных случаях выдается пустая строка.

Допустимые значения типа браузера: ie (для Microsoft Internet Explorer) и nn (для Netscape Navigator).

Примеры

Предположим, страница загружается в Internet Explorer 4.0. В этом случае вызов ^browser[ie;4]вернет значение 4, а вызовы ^browser[nn;4] или ^browser[ie;5] — пустую строку.

3.8.8. Кодирование строки для URL. Оператор mangle

Формат вызова

^mangle[строка]

Аргументы

строка — кодируемая строка.

Описание

Оператор кодирует строку в соответствии с требованиями протокола HTTP для использования в качестве части URL.

Замечание. С русской версией веб-сервера Apache оператор работает корректно.

Примеры

В коде страницы имеется вызов ^mangle[Москва]. Тогда, если посетитель сайта использует компьютер Macintosh, такой вызов вернет значение %8C%EE%F1%EA%E2%E0. Если же посетитель работает в Windows, оператор вернет %CC%EE%F1%EA%E2%E0.

3.8.9. Формирование HTTP-заголовка ответа. Оператор header

Формат вызова

^header[имя_атрибута;значение]

Аргументы

имя_атрибута — имя формируемого HTTP-заголовка.

значение — значение формируемого HTTP-заголовка.

Описание

Оператор выдает программе-клиенту HTTP-заголовок с указанным значением, а также позволяет изменять заголовок Content-type.

Примеры

Вызов ^header[refresh;5^;url=/] вернет заголовок refresh со значением 5;url=/. Обратите внимание: во втором аргументе встречается точка с запятой, предваряемая “птичкой”.


E-mail: mailbox@parser.ruCopyright © 1997-2001 Студия Артемия Лебедева
`