WML-サーバーサイドスクリプト

Webアプリケーション用のサーバーサイドスクリプトを作成する方法をすでに知っている場合は、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のいずれかを使用して、この送信されたデータを処理するサーバーサイドスクリプトを記述できます。HTTPGETメソッドを使用してPHPで記述されたサーバーサイドスクリプトを紹介します。

次のPHPコードを、WMLファイルと同じディレクトリのprocess.phpファイルに配置します。

<?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」に設定することを忘れないでください。

このようにして、多くのデータベーストランザクションが関係する本格的なWebアプリケーションを作成できます。

PERL CGI Conceptsを使用して、動的なWAPサイトを作成できます。