如何在php中使用if-else for two复选框
If信号变量post但其go处于第三种状态如何在php中使用if-else for two复选框,php,html,codeigniter,Php,Html,Codeigniter,If信号变量post但其go处于第三种状态 此代码每种条件工作条件不符合任何条件 print_r($_POST); $id =$this->input->post('id'); $v_v=$this->input->post("d_v"); $v_d=$this->input->post("d_d"); if(isset($v_d) && !isset($v_v)){ echo "a"; }elseif(!isset($v_d) &a
此代码每种条件工作条件不符合任何条件
print_r($_POST);
$id =$this->input->post('id');
$v_v=$this->input->post("d_v");
$v_d=$this->input->post("d_d");
if(isset($v_d) && !isset($v_v)){
echo "a";
}elseif(!isset($v_d) && isset($v_v) ){
echo "b";
}elseif(isset($v_v) && isset($v_d)){
echo "c";
}elseif (!isset($v_v) && !isset($v_d)){
echo "d";
}
HTML:
在这种情况下不要使用isset(更多)
$v_d = 0;
var_dump(isset($v_d)); //return TRUE;
isset仅当$v_d为空时才会返回FALSE
因此,您应该检查传入值
if($v_d && $v_v === 0){
e、 t.c
编辑:
请注意,在CodeIgniter$this->input->post(“dud”)中,如果未提交dud,则将返回NULL。您可以使用此选项
if(isset($_POST['d_d']) && !isset($_POST['d_v'])){
echo "a";
}elseif(!isset($_POST['d_d']) && isset($_POST['d_v']) ){
echo "b";
}elseif(isset($_POST['d_v']) && isset($_POST['d_d'])){
echo "c";
}elseif (!isset($_POST['d_v']) && !isset($_POST['d_d'])){
echo "d";
}
到底发生了什么,你预计会发生什么?事实上,不清楚你在问什么。这个问题到底为什么要加标签?这个代码每次都显示第三个条件为真。每次都是真的第三个条件
if(isset($_POST['d_d']) && !isset($_POST['d_v'])){
echo "a";
}elseif(!isset($_POST['d_d']) && isset($_POST['d_v']) ){
echo "b";
}elseif(isset($_POST['d_v']) && isset($_POST['d_d'])){
echo "c";
}elseif (!isset($_POST['d_v']) && !isset($_POST['d_d'])){
echo "d";
}