$data
始终为true
,复选框始终返回"YES"
。如何解决这个问题?
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);
}
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>
答案 0 :(得分:6)
如我所见,您正在$data
变量中传递一些值。而且,如果IF条件将其视为一个值,则IF语句中的任何内容都将被视为TRUE。
复选框将返回值YES
或NO
。 YES
的复选框NO
或IF statement
的值始终为TRUE。
只需更改为:
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
。请在此处输入您的复选框字段,或写下您为其指定的值。
更新的答案::如果选中了复选框,则将获得复选框值,如果没有,则$_POST
或$_GET
数据数组中不存在复选框名称。
如我所见,您没有提供复选框的名称和值。因此,根据您的情况,复选框名称和值在$_POST
或$_GET
数据数组中不存在。
答案 1 :(得分:0)
如果您的代码未显示任何错误,则意味着您的复选框始终在传递一些值以进行发布。您应该先检查发布索引是否已设置
yesNo( isset($_POST['indywidualne']) )