当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

3.1.2用PHP处理表单数据

9/17/2020 9:26:54 PM 人评论

3.1.2用PHP处理表单数据

3.1.2 用PHP处理表单数据

在上小节的文档3-1.html中,对于表单中的“爱好”多选框,只选择了“阅读”一项。如果做了多个选择,再提交表单,3-2.php输出的结果就有所不同。例如,对3-1.html的多选框,做如图3-3所示的选择。在HTML文档中,对于多选框occup选择了“阅读”、“旅游”、“上网”3项。提交表单后,将看到如图3-4所示的结果。

图 3-3 HTML表单中的多选框
图 3-4 PHP输出表单数据结果

从图3-4可以看出,所选择的3个checkbox,只有最后1个的值被输出了,其他两个选项的值没有被输出,这并不是我们所期望的结果。之所以出现这种情况,是因为多选按钮元素checkbox的名称都为“hobby”,而PHP要求,如果表单元素同名,就必须以数组方式命名,并为其value属性赋值,这样PHP才能正确取值。

因此,首先修改3-1.html的中表单元素checkbox的名称,以数组方式命名checkbox元素,即在原来的名称“hobby”后加上“[]”,修改后的代码如下所示。


兴趣与爱好:<input name="hobby[]"type="checkbox"value="reading">阅读<input name="hobby[]"

type="checkbox"value="travel">旅游<input name="hobby[]"type="checkbox"value="sport">

运动<input name="hobby[]"type="checkbox"value="internet">上网<br/><br/>


在3-2.php中通过$_POST['hobby'][0]访问3-1.html中第1个checkbox的值,通过$_POST['hobby'][1]访问3-1.html中第2个checkbox的值,以此类推。修改后的代码如下所示。


$hobby=$_POST['hobby'][0]."、".$_POST['hobby'][1]."、".$_POST['hobby'][2]."、".$_POST['hobby'][3];


像这样修改HTML文档和PHP程序之后,再次多选“爱好”项,就会看到所选项的值都被输出,如图3-5所示。

提示 因为$_POST是一个数组变量,所以,除了使用类似$_POST['hobby'][0]的方法获取同名checkbox元素的值之外,还可以使用另外一种专门用于操作数组的方法,这个方法会在第4章讲述数组处理时介绍。

图 3-5 PHP处理多选按钮元素的输出

相关教程

共有条评论 网友评论

验证码: 看不清楚?