Главная страница IT-студия  
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создание сайтов. Авторы: Кузнецов М.В., Симдянов И.В. Головоломки на PHP для хакера (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры . Авторы: Кузнецов М.В., Симдянов И.В. PHP. Народные советы. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование: ступени карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Security & Cracking Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
Консультации от известных специалистов и авторов многих книг

Информационный портал
«SoftTime-INFO»




| Статьи о PHP | WML - Элементы управления форм. Часть II.

WML - Элементы управления форм. Часть II.

Автор - Бешкенадзе А.Г.

Эта статья является продолжением предыдущей статьи, посвящённой основам создания WAP-страниц при помощи языка разметки WML (Wireless Markup Language).

Для создания форм управления в WML, аналогично HTML, используется несколько специальных тэгов, соответствующих различным элементам управления:

  • <input>
  • <select>
  • <option>

Остановимся по подробнее на каждом теге.

input

Данный тэг, аналогичен по смыслу одноименному тэгу из языка разметки HTML и может содержать следующие атрибуты:

  • name — имя переменной.
  • type — по умолчанию "text", может быть так же "password".
  • value — значение переменной.
  • format — задает маску ввода, по умолчанию "*M" (форматы масок рассмотрим ниже).
  • emptyok — устанавливает может ли поле быть пустым. Испульзеться булево значение по умолчанию emptyok="false".
  • size и maxlength — задет ширину поля в символах и максимальное число символов соответственно. По умолчанию число символов не ограничено.

Спецификаторы маски.

А

Можно вводить любой символ, кроме цифр, в верхнем регистре.

а

Можно вводить любой символ, кроме цифр, в нижнем регистре.

N

Разрешаеться ввод любой цифры.

X

Разрешаеться ввод любого символа в верхнем регистре.

x

Разрешаеться ввод любого символа в нижнем регистре.

M

Допускаеться ввод ввод любого символа, подразумеваеться что символ будет в верхнем регистре.

m

Допускаеться ввод ввод любого символа, подразумеваеться что символ будет в нижнем регистре.

*f

"Здесь ""f"" - любой из спецификаторов. Такая запись подрузомевает ввод любого (в том числе нулевого) числа символов, описываемых спецификатором f. Встречаеться может только один раз и только в конце макси. "

nf

"Здесь ""n"" - это любая, отличная от нуля, цифра. ""f"" - число от 1 до 9. Пример, 4X позволяет ввести 4 цифры. "

с

"Позволяет включить в поле некоторый символ ""с"". Этот символ будет фиксированным, и пользователь не сможет его изменить."

Примечание

Следует помнить, что все одиночные теги закрываются слэшем (/). Пример: <input />,<br />, <img />.

select

Данный тэг, аналогичен по смыслу одноименному тэгу из языка разметки HTML и может содержать следующие атрибуты:

  • name — имя переменной.
  • value — значение переменной.
  • title — заголовок списка.

Приведённый список атрибутов содержит лишь наиболее распространённые элементы.

option

Данный тэг содержит следующие атрибуты:

  • value — значение переменной.
  • title — заголовок списка.

Пример формы

Отправить данные из формы можно двумя путями. Первый из них продемонстрирован в листинге ниже:

<anchor>Ok
<go href="/wap/mod/guestbook/insert_db.php" method="post">
<postfield name="name" value="$(name)"/>
</go>
</anchor>

Здесь тэг <anchor> указывает текст после нажатия на которых происходит отправка данных. В отличие от тэга <a> текст не подчёркивается. Следует помнить, что такой способ отправки данных не поддерживаться старыми браузерами. Тэг <go> указывает адрес обработчика формы, которому отправляются данные (аналог form), postfield имеет следующие атрибуты: name - имя параметра, value - значение параметра, записывается ввиде $(value).

Второй способ отправки данных обработчику может продемонстрирован в следующем листинге:

<do label="Ok" type="accept">
<go href="/wap/mod/guestbook/insert_db.php" method="post">
<postfield name="name" value="$(name)"/>
<postfield name="mess" value="$(mess)"/>
<postfield name="trans" value="$(trans)"/>
</go>
</do>

Здесь do указывает кнопку название которой задаётся параметром label, type - указывает тип кнопки и может принимать три значения: accetp, prev, help.

Примечание

Рекомендуется использовать оба способа отправки данных, так как часть браузеров в сотовых телефонах поддерживает только один из предложенных выше способов отправки данных.

В завершение статьи рассмотрим пример формы отправки заказа с мобильного устройства:

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd" >
<wml>
<card title="Buy Product"> 
name <input name="name" size="10" format="m" />
<br/>
second name <input name="sname" size="10" format="m" />
<br/>
Select Product <select name="product">
<option value="paper"> Paper </option>
<option value="pen">Pen</option>
<option value="table">Table</option>
</select>
<br/>
<anchor>Ok
<go href="product.php" method="post">
<postfield name="name" value="$(name)"/>
<postfield name="sname" value="$(sname)"/>
<postfield name="product" value="$(product)"/>
</go>
</anchor>
<br/>
<do label="Ok" type="accept">
<go href="product.php" method="post">
<postfield name="name" value="$(name)"/>
<postfield name="sname" value="$(sname)"/>
<postfield name="product" value="$(product)"/>
</go>
</do>
</card>
</wml>

Для обработки используем листинг product.php:

<?php
header
("Content-type: text/vnd.wap.wml;charset=windows-1251"); 
echo 
'<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'
;
echo 
'<wml>
<card title="Product">'
;
echo 
"Name: $name";
echo 
"Second Name: $sname";
echo 
"Select Product: $product";
echo 
"</card></wml>";
?>

Вот и все. Следует заметить, что некоторые теги, которые использовались нами подходят не только для отправки форм, о чём будет рассказано в следующих статьях.

Русская версия English

 
  Rambler's Top100 Яндекс.Метрика Яндекс цитирования