PHP:选中多个复选框选项时回显HTML
我编辑了这个问题,因为我觉得我的要求需要更清楚 下面的代码与复选框中选中的选项相关。当同时选中“两个值”时,它将回显“两个值”,并且它将回显“仅值A”,我无法让它回显“仅值B”,它将空白打印,没有回显。想法PHP:选中多个复选框选项时回显HTML,php,checkbox,Php,Checkbox,我编辑了这个问题,因为我觉得我的要求需要更清楚 下面的代码与复选框中选中的选项相关。当同时选中“两个值”时,它将回显“两个值”,并且它将回显“仅值A”,我无法让它回显“仅值B”,它将空白打印,没有回显。想法 <?php if (( $a == "General" ) && ( $b == "Specialist" )) { echo '<h2>both values are printed in HTML</h2>';
<?php
if (( $a == "General" ) && ( $b == "Specialist" )) {
echo '<h2>both values are printed in HTML</h2>';
}
?>
<?php
if (( $a == "General" ) && ( $b != "Specialist" )){
echo '<h2>only valueA is printed in HTML</h2>';
}
?>
<?php
if (( $a != "General" ) && ( $b == "Specialist" )) {
echo '<h2>only valueB is printed in HTML</h2>';
}
?>
如果要检查某个值是否在数组中,则应使用
在数组中
函数。您的代码应该如下所示:
<?php
$CheckBox = $form_data['field'][1]
$a = ( "valueA");
$b = ( "valueB");
$isAChecked = in_array($a, $CheckBox[1]);
$isBChecked = in_array($b, $CheckBox[1]);
?>
<?php
if ( $isAChecked && $isBChecked ) {
echo '<h2>both values are printed in HTML</h2>';
} else if ( $isAChecked ) {
echo '<h2>only valueA is printed in HTML</h2>';
} else if ( $isBChecked ) {
echo '<h2>only valueB is printed in HTML</h2>';
} else {
echo '<h2>nothing printed</h2>'
}
?>
您可以发布生成表单的HTML代码或至少与复选框相关的代码片段吗?对于条件组合,$checkbox==$a&&$b
不正确。它必须类似于if(($CheckBox==$a)&&($CheckBox==$b))
生成的代码实际上只以wordpress插件创建的字段数据数组的形式存在,因此没有自动创建的html。所有的HTML和PHP都需要手工编写[field]=>Array([1.]=>Array([0]=>valueA[1]=>valueB)`if($CheckBox==$a)&&($CheckBox==$b))
似乎不起作用,这是我以前尝试过的变体之一。我觉得我们正在脱离主题。我现有的代码可以工作,并且能够返回单个选中的选项,如果选中了选项组合,我只需要能够回显唯一的答案。从您的代码中可以看出,问题在于您没有处理$form_data['field'][1]
作为数组。因为$CheckBox==$a&&$b
子句应该是在_数组($a,$CheckBox[1])&&in_数组($b,$CheckBox[1])
作为$CheckBox[1]
包含检查值的数组