php多选框表单checkbox参数传递的问题解析

发布时间:2019-07-18编辑:脚本学堂
本文介绍下,在php中,对于多选框表单checkbox进行参数传递的相关问题分析。有需要的朋友参考下吧。

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

如下的表单内容:

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

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

在PHP中,是无法直接通过$_POST["delpi"]获取像上面这样的值的,php中只能获取最后一个值,比如全部勾选,$_POST["delpi"]的值只返回3。

在php编程中,需要把表单 checkbox 的名称改为数组名,如下面这样:

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

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

<?php
/**
* php处理多选框checkbox的值
* edit www.jb200.com
*/
$id=$_POST["delpi"];
foreach($id as $n){
  mysql_query("delete from content where id=$n",$conn);
  echo "·结果:删除ID:(".$n.") 成功!<br />";
}
?>