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-сайта.