php从

时间:2018-04-10 12:28:21

标签: php

我尝试从这样的复选框中获取一个值数组:

if ($valueCommande['COMMANDE']["VALUE_CHECKBOX"] == "true") 
{
    echo "<input class='send_checkbox' checked name='test_send_checkbox[]' value='true' type='checkbox'>"; 
} 
else 
{
    echo "<input class='send_checkbox' name='test_send_checkbox[]' value='false' type='checkbox'>"; 
}

但是在我的php中我只得到“true”,当“false”为null时,我不明白为什么。

我的php:

$value_send_checkbox = $_POST['test_send_checkbox'];

如果我有3个复选框:true,false和true,我只有一个数组为true然后为true,如何获得“false”?

2 个答案:

答案 0 :(得分:1)

复选框的值只有在选中后才会发送,因为你的是一个数组(name='test_send_checkbox[])你必须检查数值是否在数组中(如果它存在的话)

if ( !empty($valueCommande['COMMANDE']["VALUE_CHECKBOX"]) 
    && in_array('true', $valueCommande['COMMANDE']["VALUE_CHECKBOX"]) ) {
    echo "<input class='send_checkbox' checked name='test_send_checkbox[]' value='true' type='checkbox'>"; 
} else {
    echo "<input class='send_checkbox' name='test_send_checkbox[]' value='true' type='checkbox'>"; 
}

修改

你还必须修改复选框值;因为你只关心它是否被检查,价值无关紧要,但它应该是相同的。

如果您只在此页面中使用一个复选框,则应考虑以更简单的方式重写它:

$isChecked = !empty($valueCommande['COMMANDE']["test_send_checkbox"]) ?
    " checked" : "";

echo "<input class='send_checkbox' {$isChecked} name='test_send_checkbox' value='1' type='checkbox'>";

请注意,我已更改复选框值,并将其命名为。

答案 1 :(得分:0)

如果选中复选框,客户​​端会从复选框字段向服务器 发送值。因此,您可以使用以下两种方法之一:

  1. 在复选框字段
  2. 之前创建具有相同名称和echo "<input class='send_checkbox' name='test_send_checkbox[]' value='false' type='hidden'>"; if ($valueCommande['COMMANDE']["VALUE_CHECKBOX"] == "true") { echo "<input class='send_checkbox' checked name='test_send_checkbox[]' value='true' type='checkbox'>"; } else { echo "<input class='send_checkbox' name='test_send_checkbox[]' value='true' type='checkbox'>"; } 的隐藏字段
    @FeignClient(url="serviceId", name="serviceId")
    1. 或检查空值。