WML - серверные сценарии
Если вы уже знаете, как писать сценарии на стороне сервера для веб-приложений, то для вас очень просто написать программу на стороне сервера для приложений WML. Вы можете использовать свою любимую серверную технологию для обработки, необходимой вашему мобильному Интернет-приложению.
На стороне сервера имя параметра будет использоваться для получения данных формы.
Рассмотрим следующий пример из предыдущей главы, чтобы указать имя, возраст и пол человека:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card id="card1" title="WML Form">
<p>
Name: <input name="name" size="12"/>
Sex : <select name="sex">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
Age : <input name="age" size="12" format="*N"/>
<anchor>
<go method="get" href="process.php">
<postfield name="name" value="$(name)"/>
<postfield name="age" value="$(age)"/>
<postfield name="sex" value="$(sex)"/>
</go>
Submit Data
</anchor>
</p>
</card>
</wml>
WML и PHP
Теперь мы можем написать сценарий на стороне сервера для обработки представленных данных с использованием PHP, PERL, ASP или JSP. Я покажу вам сценарий на стороне сервера, написанный на PHP с использованием метода HTTP GET.
Поместите следующий PHP-код в файл process.php в тот же каталог, где у вас находится ваш WML-файл.
<?php echo 'Content-type: text/vnd.wap.wml'; ?>
<?php echo '<?xml version="1.0"?'.'>'; ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card id="card1" title="WML Response">
<p>
Data received at the server:<br/>
Name: <?php echo $_GET["name"]; ?><br/>
Age: <?php echo $_GET["age"]; ?><br/>
Sex: <?php echo $_GET["sex"]; ?><br/>
</p>
</card>
</wml>
Если вы используете метод HTTP POST, вам необходимо написать PHP-скрипт для обработки полученных данных. При отправке вывода обратно в браузер не забудьте установить MIME-тип документа на «text / vnd.wap.wml».
Таким образом, вы можете написать полноценное веб-приложение, в котором задействовано множество транзакций с базой данных.
Вы можете использовать концепции PERL CGI для написания динамического WAP-сайта.