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

时间:2017-12-25 18:13:47

标签: php dynamic login logout

如果用户已登录,我希望导航栏显示“Admin”和“Logout”,如果没有用户登录,我希望“登录”和“注册”。

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

我的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>";
        }
        ?>

2 个答案:

答案 0 :(得分:0)

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

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

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