(PHP)如果陈述愚蠢

时间:2015-06-13 15:40:37

标签: php if-statement

此代码检查引脚是否正确。 这是登录/索引页面的代码。

<!DOCTYPE html>
<html>
    <h1>
        Project_01
    </h1>
    <h2>
        Please enter access pin.
    </h2>
    <form action="checker.php" method="get">
        <input type="text" name="pin"/>
        <input type="submit" value="submit">
    </form>
</html>

哪个工作正常。但我检查引脚是否正确的代码会变成空白页。

<!DOCTYPE html>
<html>
    <p>
        <?php
            $enc = $GET_["pin"];

        if($enc == "7885") {
            echo ("User Login.");
        elseif($enc == "5296"):
            echo ("Admin Login");
        else:
            echo ("Error.");
        }
        ?>
    </p>
</html>

要么打印出我的其余代码,要么所有if语句都返回true。为什么会发生这种情况?如何解决?

4 个答案:

答案 0 :(得分:2)

这可能只是偶然的错字,但应该从

改变
$enc = $GET_["pin"];

$enc = $_GET["pin"];

此外,这是更好的格式括号:

<?php
$enc = $_GET["pin"];

if($enc == "7885") {
    echo "User Login.";
} elseif ($enc == "5296") {
    echo "Admin Login";
} else {
    echo "Error.";
}

答案 1 :(得分:0)

删除括号

    if($enc == "7885") 
        echo ("User Login.");
    elseif($enc == "5296"):
        echo ("Admin Login");
    else
        echo ("Error.");

现在只有当if($enc == "7885")为真时

才会使用

答案 2 :(得分:0)

$enc = $GET_["pin"];

上面的代码是错误的,它会&#34; $ _ GET [&#39;&#39;]&#34;。修正如下。

$enc = $_GET["pin"];
    if($enc == "7885") :
        echo ("User Login.");
    elseif($enc == "5296"):
        echo ("Admin Login");
    else:
        echo ("Error.");
    endif;

答案 3 :(得分:0)

PHP 代码更改为:

     <?php
        $enc = $_GET["pin"];

        if($enc == "7885") {
            echo "User Login.";
          }
        elseif($enc == "5296"){
            echo "Admin Login";
          }
        else{
            echo "Error.";
          }
    ?>