PHP'IF / ELSE'结果位置

时间:2019-02-19 16:31:14

标签: php html css

我正在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中,但无济于事。这是我目前所拥有的。

Current login screen

我的问题是,是否可以在不更改太多代码的情况下在登录框中显示此内容?找不到任何与此相关的文章。

1 个答案:

答案 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>