-1
$color="";<br>
$sel4="";<br>
$suc="";<br>
if(isset($_POST['save']))   <br>
{<br>
$e="0";<br>
if(isset($_POST['color']))<br>
{<br>
    $color=$_POST['color'];<br>
}<br>
else<br>
{<br>
    $sel4="<--Check Any Color";<br>
    $e="1";<br>
}<br>
if($e==0)<br>
{<br>
$suc="Success";<br>
}<br>
}<br>
?><br><br><br>
~~body~~<br>
~~form method="POST"~~<br>
~~table~~<br>
~~tr~~<br>
~~td~~<br>
color<br>
~~/td~~<br>
~~td~~<br>
~~input type="checkbox" name="color" value="blue" ~~? if($color=='blue'){ echo "checked";  }?>  /><br>Blue<br>
~~input type="checkbox" name="color" value="red" ~~? if($color=='red'){ echo "checked"; }?>  /><br>Red<br>
~~input type="checkbox" name="color" value="green" ~~? if($color=='green'){ echo "checked";  }?>  />Green<br>
~~input type="checkbox" name="color" value="yellow" ~~? if($color=='yellow'){ echo "checked";   }?>  />Yellow<br>
~~/td~~<br>
~~td~~?=$sel4;?~~<br>
~~/tr~~<br>
~~tr~~<br>
~~td colspan="3"~~<br>
~~input type="submit" name="save"~~<br>
~~/td~~<br>
~~?=$suc?~~<br>
~~/tr~~<br>
~~/table~~<br>
~~/form~~<br>
~~/body~~<br>

<br><br><br>

注意:此处未使用 html 标签<>。所以我用"~~"而不是"<>".

主题:该程序运行良好。但是当我提交多个复选框时,检查的项目不在CHECKED
提交表单后,仅检查一项。<br><br>

For Example:
当我检查“蓝色”和“红色”颜色时,提交后只检查“红色”颜色。所以我需要这个错误的解决方案。帮我!。

4

2 回答 2

1

你应该将你的复选框声明为数组

<input type='checkbox' name='color_list[]' value="red">
<input type='checkbox' name='color_list[]' value="blue">
<input type='checkbox' name='color_list[]' value="green">

这样在你得到它之后,$_POST['color_list']你就会选择颜色数组。你可以这样做:

$colors_selected = $_POST['color_list'];

然后只需使用一些功能,如implode(). 我希望这有帮助。

于 2013-04-30T06:01:03.400 回答
0

$color如果您满足绿色,这里是检查您的复选框的正确代码

<input type="checkbox" name="color" value="green" <? if($color=='green'){ echo "checked"; }?> />

我认为正如您~~在 php 标签之前使用过的那样,您已经关闭了输入标签

于 2013-04-30T05:58:14.580 回答