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 编写服务器端脚本来处理提交的数据。 我将向您展示一个用 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"。

这样,您就可以编写涉及大量数据库事务的成熟 Web 应用程序。