PHP无法使用复选框

时间:2011-08-15 14:24:14

标签: php checkbox isset

我有一个人们需要提交信息的表格。这部分代码不能正常工作,我不知道为什么......

if (!isset($_POST['maandag']) && !isset($_POST['dinsdag']) && !isset($_POST['geenvoork']))
{
    echo "Je bent vergeten in te vullen wanneer je aanwezig bent.";
}

这些帖子可以在表单的其余部分工作,并且是正确的。我想要的是检查是否未选中这3个复选框。我做错了什么?

7 个答案:

答案 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') { /* ... */ }