我现在a.html中有两个复选框,分别是“白色”和“黑色”。提交后将数据传送至b.php处理,代码如下。
-------- a.html中的代码 ---------
<form name="form1" method="POST" action="b.php">
<input name="cor[]" type="checkbox" value="白色">白色
<input name="cor[]" type="checkbox" value="黑色">黑色
<input type="submit" value="提交数据">
</form>
下面是b.php中的代码:
---------- b.php中代码 ----------
<?php
$w = $_POST['cor'][0];
$b = $_POST['cor'][1];
echo "你选择的颜色:".$w." ".$b."<br/>";
?>
下面是问题:
如果我运行后,在a.html中把两个复选框都选中,提交到b.php处理后一切正常,但是因为是复选框,我可以只选择一个(比如白色),这样在提交到b.php中处理后就会有错误,因为另一个复选框的值没有被提交到b.php中,而我php中又定义了 $b = $_POST['cor'][1]; 这时候就会报错:有变量没有定义,请问如何解决这种问题?如何能让html中的复选框如果被选中就传值,没被选中也传个其他的值,比如0?
我的表述如果不清楚,请看图,在线等。。。。
zwhe8400 ,你的答案能详细点么?你的意思是在php中加判断语句?那没有被选中,根本不会有值传到php中啊,那判断什么呢?
# $cor= $_POST['cor'];
# for($i=0;$i<count($cor);$i++)
# echo $cor[i]."<br>";
#
# 方法二:
# $array = $this->request->getParameter("cor[]");
# $str =implode(',',$array);
# echo $str;
and
方法一:
#
$cor=
$_POST['cor'];
#
for($i=0;$i<count($cor);$i++)
#
echo
$cor[i]."<br>";
#
#
方法二:
#
$array
=
$this->request->getParameter("cor[]");
#
$str
=implode(',',$array);
#
echo
$str;