0

我需要进行 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> 
4

3 回答 3

4
if(count($_POST['opt']) >= 2)
{
    // at least 2 are checked
}
于 2012-07-15T22:21:10.647 回答
1

我的示例使用与第一人称相反的逻辑。

count_check = count($_POST['opt'])
if(count_check < 2)
{
  //stop submission
}
else
{
  //Proceed
}
于 2012-07-15T22:24:09.910 回答
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';

?> 
于 2012-07-15T22:29:53.173 回答