Php 为什么我的数据总是正确的,并且复选框总是返回;是的;?

Php 为什么我的数据总是正确的,并且复选框总是返回;是的;?,php,mysql,post,Php,Mysql,Post,$data始终为true,复选框始终返回“是”。如何解决这个问题 function yesNo($data){ if($data){ return "YES"; }else{ return "NO"; } } 此处的复选框: $txt.="Rozpoczynam działalność gospodarczą: ".yesNo($_POST['indywidualne'])."<br>"; if(!isset($_POST['

$data
始终为
true
,复选框始终返回
“是”
。如何解决这个问题

function yesNo($data){
    if($data){
        return "YES";
    }else{
        return "NO";
    }
}
此处的复选框:

$txt.="Rozpoczynam działalność gospodarczą: ".yesNo($_POST['indywidualne'])."<br>";
if(!isset($_POST['komunikacja'])||!trim($_POST['komunikacja'])){
    $result = array( 'type' => 'error', 'code' => "podaj komunikacje");
    endSend($result);
}
$txt.="Chce rozliczać się w terminach kwartalnych: ".yesNo($_POST['komunikacja'])."<br>";
if(!isset($_POST['firmowe'])||!trim($_POST['firmowe'])){
    $result = array( 'type' => 'error', 'code' => "podaj rodzaj rozliczenia o");
    endSend($result);
}
$txt.="Płatnik VAT: ".yesNo($_POST['firmowe'])."<br>";
if(!isset($_POST['ewidencja'])||!trim($_POST['ewidencja'])){
    $result = array( 'type' => 'error', 'code' => "podaj email");
    endSend($result);
}
$txt.=“Rozpoczynam działalnośćgospodarczą:”.yesNo($_POST['indywidualne'])。“
”; 如果(!isset($_POST['komunikacja']))| |!trim($_POST['komunikacja'])){ $result=数组('type'=>'error','code'=>“podaj komunikacje”); endSend($result); } $txt.=“Chce rozliczaćsięw terminach kwartalnych:”.yesNo($_POST['komunikacja'))”
“; 如果(!isset($_POST['firmowe'])| |!trim($_POST['firmowe'])){ $result=数组('type'=>'error','code'=>“podaj rodzaj rozliczenia o”); endSend($result); } $txt.=“增值税:”.yesNo($_POST['firmLowe'])。“
”; 如果(!isset($_POST['ewidencja'])| |!trim($_POST['ewidencja'])){ $result=数组('type'=>'error','code'=>“podaj电子邮件”); endSend($result); }
html中的复选框:

          <label for="checkbox-vat">
              <input type="checkbox" name="" id="checkbox-vat"> Płatnik VAT
          </label>
          <label for="checkbox-activity">
              <input type="checkbox" name="" id="checkbox-activity"> Rozpoczynam działalność gospodarczą
          </label>
          <label for="checkbox-quarterly">
              <input type="checkbox" name="" id="checkbox-quarterly"> Chce rozliczać się w terminach kwartalnych
          </label>

Płatnik增值税
罗兹波茨南·迪亚尔诺·戈斯波达尔茨
Chce rozliczaćsięw terminach kwartalnych

正如我所看到的,您正在
$data
变量中传递一些值。IF条件将其视为一个值,IF语句中的任何语句都将视为TRUE

复选框返回值
YES
NO
。IF语句的
复选框的值始终为真

只需更改为:

    function yesNo($data){
    // echo $data;die; //uncomment this statement to see $data value
        if(strtolower($data)=='yes'){
            return "YES";
        }else{
            return "NO";
        }
    }
假设您有如下复选框字段:

<input type="checkbox" name="check_yes" value="yes" />
<input type="checkbox" name="check_no" value="no" />

您将收到复选框值为
yes
no
。请将您的复选框字段放在这里,或者写下您为其指定的值

更新答案:如果选中复选框,您将获得复选框值,如果未选中,则复选框名称不存在于
$\u POST
$\u get
数据数组中。 正如我所看到的,您没有为复选框提供名称和值。因此,在您的案例中,
$\u POST
$\u GET
数据数组中不存在复选框名称和值


如果您的代码没有显示任何错误,则表示您的复选框总是向post传递一些值。您应该首先检查是否设置了post索引


yesNo(isset($\u POST['indywidualne'))

为什么要使用double
处于if条件?我忘记编辑代码,然后才将其放在这里,我使用($data)您没有名称attr(
name=”“
)?当然,您甚至没有正确地传递数据,您应该
print\u r
var\u dump
$data
yesNo
函数中,查看它说什么,它总是“NO”请在函数中回显
$data
,查看它有什么值,然后根据该值设置条件。可能将回显放在错误的位置,因为没有显示任何内容,如我所说,im new您是否能够回显$data值?是的,我正在尝试,但我确实找不到它显示的位置。我将始终“是”这将始终通过-isset()只需检查是否设置了var,并且它始终是(无论复选框值如何)@pomor eh,您的复选框中没有名称$_POST使用输入的name属性作为索引。你从哪里可以得到“印地威德乌尔尼、共青团等”的索引?