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"。

通过这种方式,您可以编写出涉及大量数据库事务的完整网络应用程序。

您可以使用 PERL CGI 概念 编写动态 WAP 站点。

广告