2

我有一个表格,人们需要提交信息。这部分代码没有按我想要的方式工作,我不知道为什么..

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

这些帖子确实适用于表格的其余部分,并且是正确的。我想要检查是否未选中这 3 个复选框。我究竟做错了什么?

4

7 回答 7

3

您可以尝试执行print_r($_POST)并查看字段的值是什么。这可能会帮助您确定您的提交/字段值发生了什么。

于 2011-08-15T14:27:55.417 回答
2

如果它们在您的表单中,那么它们将被设置。您可能想检查它们是否为假。这是一个,你可以结合其他的:

if( !isset($_POST['maandag']) || !$_POST['maandag'] ) { 
     // do something
}

其次,代码原样意味着如果没有设置任何复选框,您只会收到消息。我不确定,但是如果您尝试抛出错误消息,如果其中任何一个未设置,您是否想要它?在这种情况下,您需要||(或)不需要&&(和)。

于 2011-08-15T14:29:11.057 回答
1

我觉得你的编码很复杂。,,

试试看

<input type="checkbox" name="test[]"  value="1"/>
<input type="checkbox" name="test[]" value="2"/>
<input type="checkbox" name="test[]" value="3"/>

提交值并获取结果

于 2011-08-15T14:29:21.593 回答
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。

于 2014-04-14T10:28:03.870 回答
0

在 HTML 中为您的复选框设置适当的值。

<input type="checkbox" ... value="1">

您当前接受的解决方案只会使 PHP 代码复杂化。

于 2011-08-15T14:45:53.113 回答
-1

其实应该可以的...

您始终可以将您的复选框设置为一个值,并专门检查该值是否返回:

<input type="checkbox" name="maandag"  value="1"/>

<?php if(isset($_POST['maandag']) && $_POST['maandag'] != '1') { /* ... */ }
于 2011-08-15T14:32:17.680 回答
-1

正如囚犯所说,您需要检查它是否为空(),尽管如果根本没有设置,这可能会给您一个通知。

您的 if 需要:

isset($_POST['checkbox']) && !empty($_POST['checkbox'])

编辑:愚蠢的我,你的权利它不会返回任何东西。使用下面发布的 print_r 检查您的帖子听起来是最好的选择。

于 2011-08-15T14:28:40.613 回答