我有一个带有多个复选框的表单,我想将其放入一个数组中。我通过此处提供的示例进行操作:http ://www.kavoir.com/2009/01/php-checkbox-array-in-form-handling-multiple-checkbox-values-in-an-array.html
所以我准备了文件:
复选框.php:
<form action="checkboxes2.php" method="post">
<input type="checkbox" name="tags[]" value="1" />1<br>
<input type="checkbox" name="tags[]" value="2" />2<br>
<input type="checkbox" name="tags[]" value="3" />3<br>
<input type="checkbox" name="tags[]" value="4" />4<br>
<input type="submit" value="Send" />
</form>
复选框2.php:
<?php
print_r($_POST["tags"]);
?>
很简单...我意识到我应该只获取这些文本框的值,而不是它们是否被选中。但我仍然收到此错误:
Undefined index: tags in checkboxes2.php on line 2
我完全不知道我在这里做错了什么。我通过上面链接中的示例进行了所有操作(主要是复制/粘贴和更改某些部分,例如添加提交按钮),但我没有得到示例中所示的输出。我至少应该得到每个复选框的值,对吧?
我想要做什么:我想检查复选框数组,查看哪些已被选中,然后将“是”或“否”添加到第二个数组中,如下所示:
<?php
$number1 = $_POST["tags"];
$number2 = array();
foreach($number1 as $number1_output)
{
if(isset($number1_output))
{
$number2[] = "yes";
}
else
{
$number2[] = "no";
}
}
print_r($number2);
?>
嗯......它只工作了一半。只有已选中的复选框才会添加到数组中。因此,如果我选择“3”和“4”,我会得到:
Array ( [0] => yes [1] => yes )
处理数组中的复选框并验证它们的最佳方法是什么?