我正在ATOM上创建一个基本的Web应用程序,其中包括用户必须登录。登录功能运行良好,但是,如果用户输入了错误的登录信息,我的IF / Else语句(如下)将显示一条消息信息。
IF / ElSE
if(mysqli_num_rows($result) == 1) {
$_SESSION['username'] = $username;
$_SESSION['loggedin'] = true;
header("Location: home.php");
}
else{
echo ' <font color=red> <h2>Incorrect username/password</h2> </font>';
}
登录代码
*<body>
<div id="frm">
<form id="login-form" name="login-form" method="post" role="form">
<p>
<label>Username:</label>
<input type="text" id="username" name="username" />
</p>
<p>
<label>Password : </label>
<input type="password" id="password" name="password" />
</p>
<p>
<input type="submit" id="login_btn" value="Login" />
</p>
</form>
*
我尝试了许多不同的方法,例如尝试创建标签并将其链接到HTML中,但无济于事。这是我目前所拥有的。
我的问题是,是否可以在不更改太多代码的情况下在登录框中显示此内容?找不到任何与此相关的文章。
答案 0 :(得分:0)
我为您提供解决方案。您只需使用$ _SESSION即可跨多个页面存储信息(以变量形式)。
它看起来像这样:
if(mysqli_num_rows($result) == 1) {
$_SESSION['username'] = $username;
$_SESSION['loggedin'] = true;
header("Location: home.php");
}
else{
$_SESSION['message'] = "Incorrect username/password.";
}
然后在HTML文件中,可以将其放置在登录框中所需的任何位置:
<div id="frm">
<form id="login-form" name="login-form" method="post" role="form">
<?php if(isset($_SESSION['message']) )
{
echo $_SESSION['message'];
unset($_SESSION['message']);
}?>
<p>
<label>Username:</label>
<input type="text" id="username" name="username" />
</p>
<p>
<label>Password : </label>
<input type="password" id="password" name="password" />
</p>
<p>
<input type="submit" id="login_btn" value="Login" />
</p>
</form>