php if else问题,总是显示else结果

时间:2014-02-28 01:33:57

标签: php if-statement

$sublevel = $_POST['level'];
echo $sublevel;
if($sublevel == "English"){
    echo "En";
}elseif($sublevel == "Computer"){
    echo "Com";
}else{
    echo "Error";
}

为什么我的if else不显示En或Com结果?相反,即使我输入正确的值 - “英语”或“计算机”,它也只会显示“错误”。我还检查了我使用echo $sublevel输入的值。

2 个答案:

答案 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。因此它不是EnglishComputer,因为它什么都没有。