快速业务通道

结合PHP使用HTML表单:访问单个和多个表单值

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

能较容易地对用户通过HTML表单提交的信息进行操作的能力一直是PHP的优势之一。事实上,PHP版本4.1添加了几个访问该信息的新方法并有效地除去了以前版本中最常用的一个方法。本文研究了使用HTML表单上提交的信息的不同方法,并同时使用了PHP较早的版本和较新的版本。本文首先从研究单个值开始,然后构建可以一般性地访问任何可用的表单值的页面。

注:本文假定您对运行PHP版本3.0或更高版本的Web服务器具有访问权。您需要对PHP本身以及创建HTML表单有基本了解。

HTML表单

在阅读本文的过程中,您将看到不同类型的HTML表单元素如何提供PHP能够访问的信息。针对本示例,我使用了一个简单的信息表单,它由两个文本域、两个复选框和一个允许多项的选择框组成:

清单1.HTML表单<html>
<head><title>Tour Information</title></head>
<body>
<h2>Mission Information</h2>
<form action="formaction.php">
<table width="100%">
<tr><td>Ship Name:</td><td><input type="text" name="ship" /></td></tr>
<tr><td>Trip Date:</td><td><input type="text" name="tripdate" /></td></tr>
<tr><td colspan="2">Mission Goals:</td></tr>
<tr>
<td><input type="checkbox" name="exploration" value="yes" />
Exploration</td>
<td><input type="checkbox" name="contact" value="yes" />
Contact</td>
</tr>
<tr>
<td valign="top">Crew species: </td>
<td>
<select name="crew" multiple="multiple">
<option value="xebrax">Xebrax</option>
<option value="snertal">Snertal</option>
<option value="gosny">Gosny</option>
</select>
</td>
</tr>
<tr><td colspan="2" align="center"><input type="submit" /></td></tr>
</table>
</form>
</body>
</html>

在没有指定方法的情况下,该表单使用缺省方法 GET ,浏览器用它将表单值附加到 URL,如下所示:

http://www.vanguardreport.com/formaction.php?
ship=Midnight+Runner&tripdate=12-15-2433&exploration=yes&crew=snertal&crew=gosny

图1显示表单本身。

图1.HTML表单

老办法:访问全局变量

清单2中显示的代码将表单值作为全局变量处理:

清单2. 作为全局变量的表单值<?php
echo "Ship = ".$ship;
echo "<br />";
echo "Tripdate = ".$tripdate;
echo "<br />";
echo "Exploration = ".$exploration;
echo "<br />";
echo "Contact = ".$contact;
?>

生成的Web页面显示提交的值:

Ship = Midnight Runner
Tripdate = 12-15-2433
Exploration = yes
Contact =

(正如您稍后将看到的那样,Contact 没有值,因为没有选中那个框)。

清单2 中的表示法当然是方便的,但它仅在PHP伪指令 register_globals 被设置为 on 时才可用。在版本 4.2 以前,这是缺省设置,许多PHP开发人员甚至没有意识到有这样的问题。然而,从版本 4.2 开始, register_g

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号