Учебники

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 Concepts для создания динамического WAP-сайта.