使用php通过复选框进行表单验证 无标题文件 />红色的 />黄色的

使用php通过复选框进行表单验证 无标题文件 />红色的 />黄色的,php,validation,checkbox,Php,Validation,Checkbox,这是因为每次循环执行时都会覆盖$val的值,因此它只会包含最后一个值。您需要将它们分配到一个数组-类似于: <? $val=""; if(isset($_POST['save'])) { if(isset($_POST['color'])) { $color=$_POST['color']; foreach($color as $val) { echo $val."<br>";

这是因为每次循环执行时都会覆盖
$val
的值,因此它只会包含最后一个值。您需要将它们分配到一个数组-类似于:

<?
$val="";
if(isset($_POST['save']))   
{
    if(isset($_POST['color']))
    {
        $color=$_POST['color'];
        foreach($color as $val)
        {
            echo $val."<br>";
        }
    }
}

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form method="post">
<input type="checkbox" name="color[]" value="blue" <? if($val=='blue'){ echo "checked"; }?> />Blue
<input type="checkbox" name="color[]" value="red"<? if($val=='red'){ echo "checked"; }?> />Red
<input type="checkbox" name="color[]" value="green"<? if($val=='green'){ echo "checked"; }?>/>Green
<input type="checkbox" name="color[]" value="yellow"<? if($val=='yellow'){ echo "checked"; }?>/>Yellow
<input type="checkbox" name="color[]" value="white"<? if($val=='white'){ echo "checked"; }?>/>White

<input type="submit" name="save">
</form>
</body>
</html>
$selected=array();
...
foreach($val颜色)
{
$selected[]=$val;
echo$val.“
”; } ...
$selected = array();
...
foreach($color as $val)
{
    $selected[] = $val;
    echo $val."<br>";
}
...
<input type="checkbox" name="color[]" value="blue" <? if(in_array('blue',$selected)) echo "checked"; ?> />Blue
// and so on