我有一个人们需要提交信息的表格。这部分代码不能正常工作,我不知道为什么......
if (!isset($_POST['maandag']) && !isset($_POST['dinsdag']) && !isset($_POST['geenvoork']))
{
echo "Je bent vergeten in te vullen wanneer je aanwezig bent.";
}
这些帖子可以在表单的其余部分工作,并且是正确的。我想要的是检查是否未选中这3个复选框。我做错了什么?
答案 0 :(得分:3)
您可以尝试执行print_r($_POST)
并查看字段的值。这可能有助于您确定提交/字段值的运行情况。
答案 1 :(得分:2)
如果它们在您的表单中,那么它们将被设置。你可能想检查它们是否是假的。这是一个人,你可以结合其他人:
if( !isset($_POST['maandag']) || !$_POST['maandag'] ) {
// do something
}
其次,代码就意味着只有在设置了复选框的 none 时才会收到消息。我不确定,但如果你试图抛出错误信息,如果没有设置它们,你不想要它吗?在这种情况下,您需要||
(或)不是&&
(和)。
答案 2 :(得分:1)
我编码的事情变得复杂。,,
尝试
<input type="checkbox" name="test[]" value="1"/>
<input type="checkbox" name="test[]" value="2"/>
<input type="checkbox" name="test[]" value="3"/>
提交值并获得结果
答案 3 :(得分:0)
在HTML中为您设置正确的值。
<input type="checkbox" ... value="1">
您当前接受的解决方案只会使PHP代码复杂化。
答案 4 :(得分:0)
我刚刚检查了我正在使用的复选框,这里是值:
<input id="Isolated1" type="checkbox" value="1" name="Isolated1"></input>
如果检查输入,则以下评估为:
isset( $_POST["Isolated1"] )
//True
( $_POST["Isolated1"] )
//True
如果未选中输入:
isset( $_POST["Isolated1"] )
//False
( $_POST["Isolated1"] )
//Notice: Undefined index
因此,我建议使用empty()函数,同时检查变量是否不存在或其值是否等于FALSE。
答案 5 :(得分:-1)
因为狱友说你需要检查它是否是空的(),虽然如果它没有设置,这可能会给你一个通知。
你的if是否需要:
isset($_POST['checkbox']) && !empty($_POST['checkbox'])
编辑:愚蠢我,你的权利它不会返回任何东西。使用下面发布的print_r检查你的帖子听起来是最好的选择。
答案 6 :(得分:-1)
其实这应该有用......
您始终可以将复选框设置为值,并专门检查是否返回了该值:
<input type="checkbox" name="maandag" value="1"/>
<?php if(isset($_POST['maandag']) && $_POST['maandag'] != '1') { /* ... */ }