$sublevel = $_POST['level'];
echo $sublevel;
if($sublevel == "English"){
echo "En";
}elseif($sublevel == "Computer"){
echo "Com";
}else{
echo "Error";
}
为什么我的if else不显示En或Com结果?相反,即使我输入正确的值 - “英语”或“计算机”,它也只会显示“错误”。我还检查了我使用echo $sublevel
输入的值。
答案 0 :(得分:2)
您为游览变量$sublevel
命名,但在if / else语句中检查$ordersublevel
$sublevel = $_POST['level'];
if($sublevel == "English"){
echo "En";
}elseif($sublevel == "Computer"){
echo "Com";
}else{
echo "Error";
}
或
$ordersublevel = $_POST['level'];
if($ordersublevel == "English"){
echo "En";
}elseif($ordersublevel == "Computer"){
echo "Com";
}else{
echo "Error";
}
<强>更新强>
您的代码应该按原样运行。我唯一能想到的可能会导致您可能忽略的问题是提交数据的前导或尾随空格。使用trim()
删除它。
$ sublevel = trim($ _ POST ['level']);
答案 1 :(得分:1)
因为$ordersublevel
永远不会被设置。只有$sublevel
。因此它不是English
或Computer
,因为它什么都没有。