测试PHP中的登录失败

时间:2011-05-31 16:12:13

标签: php

如果用户登录尝试失败,我想在登录表单下写一些东西,就像在Asp.NET (lblResult.Text = "Login Failed")

中一样

以下是登录名单:

<body>
        <form  method="post">
            Username: <input type="text" name="username"/><br />
            Password: <input type="password" name="password"/><br/>
            <input type="submit" id="Submit" value="Submit"/>
        </form>
    </body>

如果登录失败,在表单下面,应该显示“登录失败”类型的消息,但除了使用echo或其他东西添加整个表单代码之外我不知道任何其他方式。

感谢。

4 个答案:

答案 0 :(得分:6)

在您想要消息的地方添加以下内容:

<?php if ($loginFailed): ?>
  <div class="errorMessage">Login Failed</div>
<?php endif; ?>

注意,我正在使用alternative control structure syntax,在写意大利面时,它比花括号更好。

答案 1 :(得分:3)

您要将其发布到其他文件吗?你可以简单地分配一个响应并在表单后回显它:

//do logic php logic here, if correct redirect if not assign $response here

<body>
    <form  method="post">
        Username: <input type="text" name="username"/><br />
        Password: <input type="password" name="password"/><br/>
        <input type="submit" id="Submit" value="Submit"/>
    </form>
    <?php echo $response; ?>
</body>

答案 2 :(得分:2)

如果您没有使用ajax并只是发布到同一页面,您可以执行以下操作:

<form>...</form>
<?php
  if (isset($_POST['username']) && !isset($_SESSION['username'])
  {
    // non-successful login
  }
?>

我假设您在会话变量中设置了成功登录。

答案 3 :(得分:1)

当表单无法提交,然后在代码中执行以下操作时,您是否只能将“登录失败”置于变量中?

<body>
    <form  method="post">
        Username: <input type="text" name="username"/><br />
        Password: <input type="password" name="password"/><br/>
        <input type="submit" id="Submit" value="Submit"/>
    </form>
    <? if(isset($failed) { echo "<div>" . $failed . "</div>"; } ?>
</body>