首页 > 解决方案 > 登录时如何将导航菜单栏更改为“注销”

问题描述

我正在做一个小项目来完成一个基本的网站,但我不知道如何在 php 中让我的菜单导航栏在用户成功登录后立即更改为注销。

我已经粘贴了导航栏代码和我认为可能相关的所有代码。任何帮助或指导将不胜感激。对 php 很陌生,您可能需要查看下面的所有代码,如果没有太多帮助,请道歉。PHP 代码是从 YouTube 教程中使用的......

导航栏菜单代码

iStudy大学

    <section class="collapse navbar-collapse" id="myTogglerNav">
    <div class="navbar-nav ml-auto">
        <a class="nav-item nav-link px-3" href="index.php"><i class="fas fa-home"><span class="nav-text">&nbsp; Home</span></i></a>
        <a class="nav-item nav-link px-3" href="about.html"><i class="fas fa-info-circle"><span class="nav-text">&nbsp; About</span></i></a>
        <a class="nav-item nav-link px-3" href="contact.html"><i class="fas fa-envelope"><span class="nav-text">&nbsp; Contact Us</span></i></a>
        <a class="nav-item nav-link px-3" href="signup.php"><i class="fas fa-check-square"><span class="nav-text">&nbsp; Sign Up</span></i></a>
        <a class="nav-item nav-link px-3" href="login.php"><i class="fas fa-sign-in-alt"><span class="nav-text">&nbsp; Login</span></i></a>
    </div>
    </section>
</div>

一些应用的PHP:

          <?php
        if (!isset($_SESSION['id'])) {
          echo '<form action="includes/login.inc.php" method="post">
            <input type="text" name="mailuid" placeholder="Email">
            <input type="password" name="pwd" placeholder="Password">
            <button type="submit" name="login-submit">Login</button>
          </form>';
        }
        else if (isset($_SESSION['id'])) {
          echo '<form action="includes/logout.inc.php" method="post">
            <button type="submit" name="logout-submit">Logout</button>
          </form>';
        }
    ?>

注册表单代码:

<form class="form-signup" action="includes/signup.inc.php" method="post">
        <?php
        // Here we check if the user already tried submitting data.

        // We check username.
        if (!empty($_GET["uid"])) {
          echo '<input type="text" name="uid" placeholder="Username" value="'.$_GET["uid"].'">';
        }
        else {
          echo '<input type="text" name="uid" placeholder="Username">';
        }

        // We check e-mail.
        if (!empty($_GET["mail"])) {
          echo '<input type="text" name="mail" placeholder="Email" value="'.$_GET["mail"].'">';
        }
        else {
          echo '<input type="text" name="mail" placeholder="Email">';
        }
        ?>
        <input type="password" name="pwd" placeholder="Password">
        <input type="password" name="pwd-repeat" placeholder="Repeat password">
        <button type="submit" name="signup-submit">Signup</button>
      </form>

标签: phphtmlbootstrap-4

解决方案


<a>执行与导航标签上的表单相同的操作。

<section class="collapse navbar-collapse" id="myTogglerNav">
<div class="navbar-nav ml-auto">
    <a class="nav-item nav-link px-3" href="index.php"><i class="fas fa-home"><span class="nav-text">&nbsp; Home</span></i></a>
    <a class="nav-item nav-link px-3" href="about.html"><i class="fas fa-info-circle"><span class="nav-text">&nbsp; About</span></i></a>
    <a class="nav-item nav-link px-3" href="contact.html"><i class="fas fa-envelope"><span class="nav-text">&nbsp; Contact Us</span></i></a>
    <a class="nav-item nav-link px-3" href="signup.php"><i class="fas fa-check-square"><span class="nav-text">&nbsp; Sign Up</span></i></a>
     <?php  
          if (!isset($_SESSION['id'])) {
            echo "<a class='nav-item nav-link px-3' href='login.php'><i class='fas fa-sign-in-alt'><span class='nav-text'>&nbsp; Login</span></i></a>";
          } else {
            echo "<a class='nav-item nav-link px-3' href='logout.php'><i class='fas fa-sign-out-alt'><span class='nav-text'>&nbsp; Logout</span></i></a>";
          }
      ?>
</div>
</section>

推荐阅读