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属性作为索引。你从哪里可以得到“印地威德乌尔尼、共青团等”的索引?