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

问题描述 投票:0回答:2

我希望导航栏在用户登录时显示“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>";
        }
        ?>
php dynamic login logout
2个回答
0
投票

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


0
投票

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

$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>
}

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

© www.soinside.com 2019 - 2024. All rights reserved.