php复选框checkbox参数传递问题的解决方法

发布时间:2020-04-24编辑:脚本学堂
本文介绍下,在php中,对复选框checkbox中参数传递问题的解决方法。有需要的朋友,作个参考吧。

在网页中,使用多选框可以一次性选择多个属性值,进行批量操作。

网页中checkbox的用法一般为:
 

<form name="formcode1" method="post" action="">
<input name=code1 type=checkbox value=1>
<input name=code1 type=checkbox value=2>
<input name=code1 type=checkbox value=3>
<input type="submit" name="s" value="【批量删除】">
</form>

在asp中,可以直接使用 request.form("code1") 获取参数值,request.form("code1")的值是以逗号 “, ”分割,比如上面如果全部勾选,那么获得的值为:1, 2, 3。
可以使用split函数进行切割,从而对每个参数进行合适的处理。

php编程中,是无法直接通过$_POST["code1"]获取的,php中只能获取最后一个值,比如全部勾选,$_POST["code1"]的值只返回3。

此时,需要把表单 checkbox 的名称改为数组名:
 

<form name="formcode1" method="post" action="">
<input name=code1[] type=checkbox value=1>
<input name=code1[] type=checkbox value=2>
<input name=code1[] type=checkbox value=3>
<input type="submit" name="s" value="【批量删除】">
</form>

因为,对于复选框checkbox值的获取,php是作为数组对待的。

接下来,就可以通过 $_POST["code1"] 获取数组array(1,2,3)里的全部值了。
再使用foreach函数,可以对数组array里的每个值进行操作。

参考代码:
 

<?php
//获取checkbox中的值
$id=$_POST["code1"];
foreach($id as $n){ //foreach循环遍历
   mysql_query("delete from content where id=$n",$conn);
   echo "·结果:删除ID:(".$n.") 成功!<br />";
}
//edit by www.jb200.com
//at 2013/7/4
?>