当在php中勾选两个复选框时,如何调用方法?
if (isset($_POST['check1']))
{data1();}
else if (isset($_POST['check2'])
{data2();}
以上适用于单个复选框。我勾选它的那一刻它只会调出data1()。我尝试了以下内容。
else if(isset($_POST['check1']) && ($_POST['check2']))
{data1and2();}
和
else if(isset($_POST['check1']) && ($_POST['check2']))
{data1and2();}
答案 0 :(得分:2)
isset
$_POST['check2']
if(isset($_POST['check1']) && isset($_POST['check2'])) {
data1and2();
}
这个条件应该是第一个。
if(isset($_POST['check1']) && isset($_POST['check2'])) {
data1and2();
} else if (isset($_POST['check1'])) {
data1();
} else if (isset($_POST['check2'])) {
data2();
}
答案 1 :(得分:1)
为什么不分开if语句?
if(isset($_POST['check1']))
data1();
if(isset($_POST['check2']))
data2();
如果你需要一个不同的功能,当它们被检查时,你可以做这样的事情。
list($flag1, $flag2) = array(isset($_POST['check1']), isset($_POST['check2']));
if($flag1 && flag2)
data1and2();
else if($flag1)
data1();
else if($flag2)
data2();
答案 2 :(得分:0)
我相信你的逻辑是关闭的。在单身的情况下,这种逻辑很好,但如果你同时检查两者,isset
check1
将被触发,脚本不知道它应该检查它应该采取不同的行动,如果两者都检查。您最好的选择是将if
检查两个检查首先,然后检查单个框,如下所示:
if (isset($_POST['check2'] && isset($_POST['check1']))
{data1and2();}
else if (isset($_POST['check1']))
{data1();}
else if (isset($_POST['check2'])
{data2();}