首页 / PHP / php – 验证数组中发送的复选框
php – 验证数组中发送的复选框
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 验证数组中发送的复选框,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1667字,纯文字阅读大概需要3分钟。
内容图文
![php – 验证数组中发送的复选框](/upload/InfoBanner/zyjiaocheng/731/3f1a99dc23914963a7239f5ee4529e3d.jpg)
我有一个包含多个复选框的表单,我想将其放入数组中.我按照这里提供的示例进行操作:http://www.kavoir.com/2009/01/php-checkbox-array-in-form-handling-multiple-checkbox-values-in-an-array.html
所以我准备好了文件:
checkboxes.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>
checkboxes2.php:
<?php
print_r($_POST["tags"]);
?>
非常简单……我意识到我应该只获取这些文本框的值,而不是它们是否被选中.但我仍然得到这个错误:
Undefined index: tags in checkboxes2.php on line 2
我完全不知道我在这里做错了什么.我通过上面的链接中的示例并完成了所有内容(主要是复制/粘贴和更改某些部分,如添加提交按钮),但我没有获得示例中显示的输出.我应该至少得到每个复选框的值,对吧?
我想做什么:我想查看复选框数组,看看哪些已被选中,并在第二个数组中添加“yes”或“no”,如下所示:
<?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 )
处理数组中的复选框并验证它们的最佳方法是什么?
解决方法:
或者,如果您希望复选框在未选中时也发送值,则可以在复选框之前添加隐藏输入字段:
<input type="hidden" name="tag[1]" value="off" />
<input type="checkbox" name="tag[1]" value="on />
因为复选框仅在设置时发送,但它会覆盖隐藏,因为它稍后在HTML中,您现在将始终将标签[1]设置为“关闭”或“打开”,具体取决于框是否被检查了.
内容总结
以上是互联网集市为您收集整理的php – 验证数组中发送的复选框全部内容,希望文章能够帮你解决php – 验证数组中发送的复选框所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。