如何检查在php中是否检查了至少2个复选框?

时间:2012-07-15 22:18:26

标签: php

我需要进行php验证,说明至少应该检查2个复选框... 我一直在尝试不同的东西,但无法得到正确的结果。

    <?php
    if(!empty($_POST['opt'])) {
        foreach($_POST['opt'] as $check) {
                echo $check; 

        }
    $checkboxes = count($check); 
    echo '$checkboxes'; 

    }
    ?>       

    <form action="index.php" method="post">

    <input type="checkbox" name="opt[]" value="option1" />option1<br />
    <input type="checkbox" name="opt[]" value="option2" />option2<br />
    <input type="checkbox" name="opt[]" value="option3" />option3<br />


    <br /><br />
    <input type="submit" name="formSubmit" value="Send" />
    </form> 

3 个答案:

答案 0 :(得分:4)

if(count($_POST['opt']) >= 2)
{
    // at least 2 are checked
}

答案 1 :(得分:1)

我的例子使用了与第一个人相反的逻辑。

count_check = count($_POST['opt'])
if(count_check < 2)
{
  //stop submission
}
else
{
  //Proceed
}

答案 2 :(得分:1)

你可以试试这个:

<?php

if( is_array($_POST['opt']) )
{
    foreach($_POST['opt'] as $check)
        echo $check; 

    if(count($_POST['opt']) >= 2)
    {
         echo 'Valid';
    }
    else
    {
         echo 'Not valid';
    }

}
else
    echo 'Nothing checked';

?>