任何服务器端脚本语言最常见的应用之一就是处理HTML表单。我们将为Bob汽车零部件商店(一个虚拟的汽车零部件公司)实现一个订单表单,从而开始PHP的学习。
1.2.1 创建订单表单
Bob的HTML程序员已经设置好Bob汽车零部件商店所销售的零部件订单。该订单如图1-1所示。这是一个相对比较简单的订单,类似于读者在Internet上看到的订单。
图 1-1 Bob最初的订单只能记录商品和数量Bob希望能够知道他的客户订购了什么商品,订单的总金额以及该订单的税金。
程序清单1-1给出了该HTML页面的部分代码。
程序清单1-1 orderform.html——Bob基本订单表单的HTML代码
<form action="processorder.php"method="post">
<table border="0">
<tr bgcolor="#cccccc">
<td >Item</td>
<td >Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td ><input type="text"name="tireqty"size="3"
maxlength="3"/></td>
</tr>
<tr>
<td>Oil</td>
<td ><input type="text"name="oilqty"size="3"
maxlength="3"/></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td ><input type="text"name="sparkqty"size="3"
maxlength="3"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit"/></td>
</tr>
</table>
</form>
请注意,该表单的动作被设置为能够处理客户订单的PHP脚本名称(在稍后内容中,我们将编写该脚本)。一般地说,action属性值就是用户点击“Submit(提交)”按钮时将要载入的URL。用户在表单中输入的数据将按照method属性中指定的方法发送到这个URL,该方法可以是get(附加在URL的结尾)或post(以单独消息的形式发送)。
此外,还需要注意的是,表单域的名称——tireqty、oilqty和sparkqty。在这个PHP脚本中,我们还将使用这些名称。正是由于这一点,给表单域定义有意义的名称是非常重要的,因为当你编写PHP脚本时,我们就很容易记住这些名称。在默认的情况下,有些HTML编辑器将生成类似于field23的表单域名称。要记住这些名称是很困难的。如果表单域名称能够反映输入到该域的数据,PHP编程工作就会变得更加轻松。
读者可能会考虑对表单域名称的命名采用一种统一的编码标准,这样站点中的所有表单域名称就可以使用相同的格式。这样,无论在域名称中使用了词的缩写还是下画线,都可以轻松地记住它们。