Я пытаюсь изменить панель навигации в зависимости от того, вошел ли пользователь в систему. В конечном итоге также проверяю, является ли пользователь администратором или нет, и в зависимости от этих условий появляются разные элементы списка.
Проблема в том, что мое состояние в PHP, кажется, что оно не учитывает оператор if, и при загрузке страницы отображаются оба ul.
У меня начало сеанса вверху моей страницы, поэтому значение "loggedin" должно быть сохранено.
<header>
<div class="container">
<div class="Logo">
<img src="./images/LogoSmall.png" width="60px" height="60px" alt="Logo">
<h2> Quality Speakers Global </h2>
</div>
<div>
<nav>
<?php
if($_SESSION["loggedin"] == "yes"){
?>
<ul>
<li class="current"><a href="Index.html">Home</a></li>
<li><a href="Register.html">Login/Register</a></li>
<li><a href="Slideshow.html">Products</a></li>
<li><a href="Report.html">Report</a></li>
<li><a href="userpage.php">My Account</a></li>
</ul>
<?php } else{?>
<ul>
<li class="current"><a href="Index.html">Home</a></li>
<li><a href="Register.html">Login/Register</a></li>
<li><a href="Slideshow.html">Products</a></li>
<li><a href="Report.html">Report</a></li>
</ul>
<?php
}
?>
</nav>
</div>
</header>
Я хочу показать только ul в зависимости от условия
вот мой логин php код:
<?php
session_start();
$con = mysqli_connect('localhost','root','pass1','accounts');
if(isset($_POST["UsernameLogin"])) {
$Logusername = $_POST['UsernameLogin'];
}
if(isset($_POST["PasswordLogin"])) {
$Logpassword = $_POST['PasswordLogin'];
}
$query = " select * from users where username = '$Logusername' && password = '$Logpassword'";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_assoc($result);
$num = mysqli_num_rows($result);
if($num == 1) {
$_SESSION["username"] = $Logusername;
$_SESSION["level"] = $row["usertype"];
$_SESSION["loggedin"] = 'yes';
if($_SESSION["level"] == "admin") {
header('location:AccountsPage.php');
} else {
header('location:userpage.php');
}
} else {
header("Location: Index.html");
}
?>