根据状态动态更改登录/注销按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据状态动态更改登录/注销按钮相关的知识,希望对你有一定的参考价值。

我希望导航栏在用户登录时显示“Admin”和“Logout”,或者如果没有用户登录则显示“Log In”和“Register”。

到目前为止,它始终显示登录和注册。它确实保留了登录,因为我无法访问登录/注册页面(我已经创建了它,因此登录的用户被重定向到主页)。

我的REGISTER id只是文本样式。

登录片段:

if(isset($_POST["login"])){
$username = trim($_POST['username']);
$username = strip_tags($username);
$username = htmlspecialchars($username);

$password = trim($_POST['password']);
$password = strip_tags($password);
$password = htmlspecialchars($password);


$loginQuery= "SELECT * FROM members where username='$username' AND password=PASSWORD('$password')";
$result= mysqli_query($conn, $loginQuery);
if(mysqli_num_rows($result)){
    $_SESSION['username'] = $username;
    header("Location: index.php");
}
else{
    $loginErrorExists= TRUE;
}

}

主页片段:

<?php
        if(isset($_SESSION['username'])){
            echo "<a id="register" class="header-button" href="admin.php"><span class="bold small-white-subtitle">Dashboard</span></a>";
            echo "<a id="register" class="header-button" href="logout.php"><span class="bold small-white-subtitle">Logout</span></a>";
        }
        else{
            echo "<a id="register" class="header-button" href="login.php"><span class="bold small-white-subtitle">Log In</span></a>";
            echo "<a id="register" class="header-button" href="register.php"><span class="bold small-white-subtitle">Register</span></a>";
        }
        ?>
答案

您可以添加额外的字段并在管理员登录中输入1或0,然后在视图页面中使用0或1进行检查

另一答案

我希望这就是你要找的东西:

$loginQuery= "SELECT * FROM members where username='$username' ";
$result= mysqli_query($conn, $loginQuery);
$row = mysqli_fetch_assoc($result);
$pass = $row['password'];

$check = mysqli_num_rows($result);
if($check = 0){
   if($pass){
      $_SESSION['role'] = $row['role'];
      $_SESSION['username'] = $row['username'];
      header("Location: index.php");
   }
}else{
  echo('Invalid Username or Password ');
  exit;
}

在你的Index.php中

<?session_start();    
.....
If(isset($_SESSION['username'])){
 echo $_SESSION['role']; echo "$logout";
}else{
 echo <a href="$register">REGISTER</a>
}

为了安全起见,我改变了一些代码,希望这会有用。您可以获取代码流及其标题,以便您可以添加更多代码。

以上是关于根据状态动态更改登录/注销按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React.JS 中更改登录/注销时的导航栏文本?

在登录/注销时更改React按钮文本

如何制作 parse.com 注销按钮以将我带到另一个让我登录或注册的活动?

使用 Ionic 2,您如何通过登录后将您发送到另一个页面的模式来更改基于登录状态的按钮?

ios Facebook 登录按钮 - 不会更改为注销

如何在 RxSwift 中使用 1 个按钮创建登录和注销?