如果用户登录尝试失败,我想在登录表单下写一些东西,就像在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或其他东西添加整个表单代码之外我不知道任何其他方式。
感谢。
答案 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>