验证PHP中的多个复选框。必须至少检查一个但不超过三个复选框

时间:2014-01-30 20:58:10

标签: php arrays validation checkbox

我正在使用PHP创建一个投票系统,我有一个表单,我将其插入到MySQL数据库中。我将使用JavaScript来确保用户选择至少一个候选但不超过三个,但我也想在服务器端进行验证。这是该页面的Web表单:

<form method="post" action="post.php">
<input type="checkbox" name="vote[FR01]" value="ON"> Freshman Candidate 1 <br />
<input type="checkbox" name="vote[FR02]" value="ON"> Freshman Candidate 2 <br />
<input type="checkbox" name="vote[FR03]" value="ON"> Freshman Candidate 3 <br />
<input type="checkbox" name="vote[FR04]" value="ON"> Freshman Candidate 4 <br />
<input type="checkbox" name="vote[FR05]" value="ON"> Freshman Candidate 5 <br />
<input type="checkbox" name="vote[FR06]" value="ON"> Freshman Candidate 6 <br />
<input type="submit" name="submit" value="submit">
</form>

我知道我需要使用for循环但是,是否有人可以解释我如何使用数据库中列名的数组键索引?

1 个答案:

答案 0 :(得分:0)

这个怎么样?

if (isset($_POST['submit'])) {
    $checkedCandidates = 0;
    $values = $_POST['vote'];
    $checkedCandidates = count($values);

    if ($checkedCandidates < 1) {
        echo 'You need to check at least one candidate.';
    } elseif ($checkedCandidates >= 4) {
        echo 'You can only check up to three candidates.';
    } else {
        echo 'Checked candidates: ' . var_dump($values);
    }
}

Preview