如果用户登录尝试失败,我想像在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或其他东西添加整个表单代码外,我不知道还有其他方法。
谢谢。
在需要消息的地方添加类似的内容:
<?php if ($loginFailed): ?>
<div class="errorMessage">Login Failed</div>
<?php endif; ?>
注意,我使用的是可替换的控制结构语法,在编写意大利面条时,它比花括号稍微好一些。
是否将其发布到另一个文件?你可以简单地分配一个响应,并在表单后面回显:
//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>
如果您不使用ajax,只是简单地发布到同一页面,您可以执行以下操作:
<form>...</form>
<?php
if (isset($_POST['username']) && !isset($_SESSION['username'])
{
// non-successful login
}
?>
我假设您正在会话变量中设置成功登录。
当表单提交失败时,你不能把"登录失败"放在一个变量中,然后在代码中执行以下操作吗?
<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>