1

我正在用 PHP 编写这段代码,基本上我有 5 个复选框,用于 5 个单独的项目,每个项目都称为“ItemCheck”,它们的值是 0-4。现在我写了一个代码,它显示了从这 5 个检查列表中检查的数字。

形式:

for ($i=0;$i<count(5);$i++){
echo "
<input type='checkbox' name='ItemCheck' value='$i.check'>$i</input><br>"}

PHP进程:

if (isset($_POST['ItemCheck'])){

    for ($o=0;$o<$ItemCount;$o++){

        if($_POST['ItemCheck'] == $o.'.check') {
            echo "Item " . $o . "<br>";

            }
    }
} 
else{ echo "You must select at least one product";}

虽然说如果我选中 #1,2 & 3,最终输出将只显示“项目 3”。现在无论您选择多少复选框,它只会显示具有最高值的复选框,而不会显示其他复选框。有谁知道代码有什么问题以及如何使用它以显示每个选定的数字,而不仅仅是具有最高值的数字?

4

1 回答 1

1

您要做的是设置复选框元素的名称,ItemCheck[]这将创建$_POST["ItemCheck"]一个数组。

例子:

for ($i=0;$i<count(5);$i++){
    echo "<input type='checkbox' name='ItemCheck[]' value='$i.check'/> $i<br>";
}

要注意的另一件事是浏览器不会为未选中的复选框发布任何内容,因此我认为您的处理器需要像这样。

<?php
if (isset($_POST['ItemCheck'])){
    for ($o=0;$o<count($_POST['ItemCheck']);$o++){
            echo "Item " . $_POST['ItemCheck'] . "<br>";
    }
} else {
    echo "You must select at least one product";
}
?>

确保的另一件事是您的表单已将方法设置为POST

于 2013-05-29T21:46:41.140 回答