Панель навигации появляется дважды, не учитывает оператор php if - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь изменить панель навигации в зависимости от того, вошел ли пользователь в систему. В конечном итоге также проверяю, является ли пользователь администратором или нет, и в зависимости от этих условий появляются разные элементы списка.

Проблема в том, что мое состояние в 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");

  }

?>

1 Ответ

0 голосов
/ 19 апреля 2019

Ваша страница index.html не анализируется как php. Измените расширение на .php или измените конфигурацию, чтобы также анализировать HTML-файлы.

...