PHP-登录表单-如果登录无效,则显示错误消息


PHP - Login form - Show error message if login not valid

我正在尝试使用此登录表单(http://codepen.io/reidark/pen/uAmey)在我的项目中,但有一件事我需要一点帮助。

当提交有效的用户名和密码时,我需要我的脚本在登录表单下的绿色框中显示goodboy消息,然后当提交无效凭据时重定向到另一个页面->错误消息在同一框中。

这可能是我代码中最重要的部分:

<?php
$login = ($_POST['login']);
$password = ($_POST['password']);
$password = md5($password);
$login_def = "admin";
$password_def = "c4025c6fb582e687b11738a1fb416993";

?>
<form class="login" action="?page=login" method="POST">
  <fieldset>
    <legend class="legend">Login</legend>
    <div class="input">
        <input type="text" placeholder="Login" name="login" required />
      <span><i class="fa fa-envelope-o"></i></span>
    </div>
    <div class="input">
        <input type="password" placeholder="Password" name="password" required />
      <span><i class="fa fa-lock"></i></span>
    </div>
    <button type="submit" class="submit"><i class="fa fa-long-arrow-right"></i></button>
  </fieldset>
<?php
    if($login == $login_def && $password == $password_def){
        session_start();
        $_SESSION['loggedin'] = $login;
        echo '
            <div class="feedback">
                Login success <br />
                redirecting...
            </div>
        ';
        echo "<script>window.location='index.php?page=projects'</script>";
}
    else{
        echo '
            <div class="feedback">
                Wrong username or password. <br />
                Please check the fields above.
            </div>
        ';      
    }
?>
</form>

但每次我提交错误的数据时,页面都会重新加载,没有消息(↑反馈)。你能告诉我,我在哪里犯了错误吗?非常感谢。

<?php
$login = ($_POST['login']);
$password = ($_POST['password']);
$password = md5($password);
$login_def = "admin";
$password_def = "c4025c6fb582e687b11738a1fb416993";
?>
<form class="login" action="?page=login" method="POST">
    <fieldset>
        <legend class="legend">Login</legend>
        <div class="input">
            <input type="text" placeholder="Login" name="login" required />
            <span><i class="fa fa-envelope-o"></i></span>
        </div>
        <div class="input">
            <input type="password" placeholder="Password" name="password" required />
            <span><i class="fa fa-lock"></i></span>
        </div>
        <button type="submit" class="submit"><i class="fa fa-long-arrow-right"></i></button>
    </fieldset>
    <?php
    if (isset($_POST['login']) && isset($_POST['password'])) {
        if ($login == $login_def && $password == $password_def) {
            session_start();
            $_SESSION['loggedin'] = $login;
            echo '<div class="feedback">Login success <br />redirecting...</div>';
            echo "<script>window.location='index.php?page=projects'</script>";
        } else {
            echo '<div class="feedback">Wrong username or password. <br />Please check the fields above.</div>';
        }
    }
    ?>
</form>

上面的代码在我的本地主机中运行良好。