3. Операторы Парсера
Формат вызова
^form[имя_поля]
Аргументы
имя_поля имя поля формы или параметра, значение которого нужно получить.
Описание
Оператор возвращает значение указанного поля формы или параметра, переданного через URL в формате ?name=value. Данный оператор используется на страницах, которые вызываются в качестве скриптов. Оператор корректно работает при использовании обоих методов передачи данных, GET и POST.
Внимание! Для получения целочисленных значений категорически рекомендуется использовать оператор number (см. п. 3.8.2). В противном случае вы рискуете получить строку там, где ожидается число.
Примеры
На странице form.html пользователь может ввести в поля формы те или иные значения. После нажатия на кнопку OK будет загружена страница showvalues.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>
|
|
|
|
|
|
|
|
<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>
|
|
|
|
Формат вызова
^number[имя_поля]
Аргументы
имя_поля имя поля, значение которого нужно получить.
Описание
Оператор делает то же, что и оператор form, но для целочисленных значений. Если значение, введенное в поле формы, не является числовым, оператор возвращает значение 0.
Примеры
^number[age]
Формат вызова
^query[]
Аргументы
Отсутствуют.
Описание
Оператор возвращает строку запроса (значение переменной окружения QUERY_STRING), передаваемую в URI.
Замечание. Если значения параметров, которые требуется передать вызываемому скрипту, содержат символы, запрещенные протоколом HTTP, следует преобразовать эти значения с помощью оператора mangle (см. п. 3.8.8).
Примеры
На странице query.html посетитель может нажать на ссылку. После этого будет загружена страница showstring.html, отображающая переданную ей строку запроса.
|
|
|
|
<HTML> <HEAD><TITLE>Страница со строкой запроса</TITLE></HEAD> <BODY> <A HREF="showstring.html?the_string">Показать строку запроса</A> </BODY> </HTML>
|
|
|
|
|
|
|
|
<HTML> <HEAD><TITLE>Строка запроса</TITLE></HEAD> <BODY> Строка запроса: ^query[] </BODY> </HTML>
|
|
|
|
Формат вызова
^env[имя_переменной_окружения]
Аргументы
имя_переменной_окружения имя переменной окружения, задаваемой веб-сервером, значение которой требуется получить.
Описание
Оператор возвращает значение указанной переменной окружения, задаваемой веб-сервером.
Замечание. Со списком стандартных переменных окружения можно ознакомиться по адресу http://www.w3c.org/cgi. Веб-сервер Apache задает значения ряда дополнительных переменных.
Примеры
Вызов ^env[SERVER_NAME] вернет доменное имя веб-сервера, например www.design.ru.
Формат вызова
^uri[]
Аргументы
Отсутствуют.
Описание
Оператор возвращает URI текущей страницы.
Примеры
Предположим, адрес страницы http://www.server.ru/abc/def.html?ghi. Тогда помещенный в ее код вызов ^uri[] вернет значение /abc/def.html?ghi.
Формат вызова
^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>
|
|
|
|
Формат вызова
^browser[тип_браузера;номер_версии]
Аргументы
тип_браузера предполагаемый тип браузера.
номер_версии предполагаемая минимальная версия браузера.
Описание
Оператор возвращает номер версии браузера, если одновременно выполняются следующие условия:
- тип браузера, в который загружается страница, совпадает с типом, указанным в первом аргументе;
- номер версии, в который загружается страница, не превышает указанного во втором аргументе.
В остальных случаях выдается пустая строка.
Допустимые значения типа браузера: ie (для Microsoft Internet Explorer) и nn (для Netscape Navigator).
Примеры
Предположим, страница загружается в Internet Explorer 4.0. В этом случае вызов ^browser[ie;4]вернет значение 4, а вызовы ^browser[nn;4] или ^browser[ie;5] пустую строку.
Формат вызова
^mangle[строка]
Аргументы
строка кодируемая строка.
Описание
Оператор кодирует строку в соответствии с требованиями протокола HTTP для использования в качестве части URL.
Замечание. С русской версией веб-сервера Apache оператор работает корректно.
Примеры
В коде страницы имеется вызов ^mangle[Москва]. Тогда, если посетитель сайта использует компьютер Macintosh, такой вызов вернет значение %8C%EE%F1%EA%E2%E0. Если же посетитель работает в Windows, оператор вернет %CC%EE%F1%EA%E2%E0.
Формат вызова
^header[имя_атрибута;значение]
Аргументы
имя_атрибута имя формируемого HTTP-заголовка.
значение значение формируемого HTTP-заголовка.
Описание
Оператор выдает программе-клиенту HTTP-заголовок с указанным значением, а также позволяет изменять заголовок Content-type.
Примеры
Вызов ^header[refresh;5^;url=/] вернет заголовок refresh со значением 5;url=/. Обратите внимание: во втором аргументе встречается точка с запятой, предваряемая птичкой.
|