簡體   English   中英

管理員用戶登錄后,如何編輯導航欄以刪除鏈接?

[英]How can I edit navigation bar to take out a link when admin user signs in?

登錄或注冊之前的導航具有以下鏈接:主頁,博客,撰寫博客,登錄,注冊,

普通用戶登錄時,導航鏈接將更改為:您好(用戶名),主頁,博客,撰寫博客,注銷,

當管理員登錄導航時,顯示以下內容:您好(用戶名),主頁,博客,寫博客,管理員,注銷,

我的問題是,當管理員登錄時,我想刪除“寫博客”鏈接。關於如何修改我的代碼以實現此目的的任何建議都很好。 以下是header.php中的HTML&Php代碼:

<header>
    <div class="wrap-header zerogrid">
        <div id="logo"><a href="/"><img src="/assets/images/logo_blog.png"/></a></div>
        <nav>
            <div class="wrap-nav">
                <div class="menu">
                    <ul class="list-unstyled">
                        <? if ($_SESSION['user']['first_name']): ?>
                            <li><a href="#"><i class="icon fa fa-user"></i> Hello <?= $_SESSION['user']['first_name'] ?></a></li>
                        <? endif ?>
                        <li><a href="/"><i class="icon fa fa-home"></i> Home</a></li>
                        <li><a href="/blog"><i class="icon fa fa-book"></i> Blog</a></li>
                        <li><a href="/payment"><i class="icon fa fa-pencil"></i> Write a Blog</a></li>
                         <? if ($_SESSION['user']['level'] >= 2): ?>
                            <li><a href="/admin"><i class="icon fa fa-pencil"></i> Admin</a></li>
                        <? endif ?>
                        <? if ($_SESSION['user']['first_name']): ?>
                            <li><a href="?action=logout"><i class="icon fa fa-sign-in"></i> Logout</a></li>
                        <? else: ?>
                            <li><a href="/sign_in"><i class="icon fa fa-sign-in"></i> Login</a></li>
                            <li><a href="/register"><i class="icon fa fa-pencil"></i> Register</a></li>
                            <? endif ?>
                    </ul>               
                </div>
            </div>
        </nav>
    </div>
</header>

這可能很簡單,我確實會使事情變得過於復雜! 先感謝您。

這是一種在處理標記內容之前設置和驗證變量的方法。 可以提供清晰,干凈的代碼。

<?php

// 1. get session user object
$user   = (isset($_SESSION['user'])) ? $_SESSION['user'] : null;

// 2. set vars
if($user) {
   if(isset($user['first_name'])) {
     $first_name = $user['first_name'];
   }
   if(isset($user['level'])) {
     $level = $user['level'];
   }
}

// 3. set flag (optional) or access $level directly
if(isset($level)) {
  $isAdmin = ($level === "Admin") ? true: false;
}

// normal user: Hello (name of user), Home, Blog, Write a blog, Logout,
// admin logs : Hello (name of user), Home, Blog, Write a blog, Admin, Logout,

?>

和標記...

<header>
    <div class="wrap-header zerogrid">
        <div id="logo"><a href="/"><img src="/assets/images/logo_blog.png"/></a></div>
        <nav>
            <div class="wrap-nav">
                <div class="menu">
                    <ul class="list-unstyled">

                       <!-- code omited -->              
                        <?php
                           if(isset($isAdmin) and $isAdmin) {
                              // display markup for Admin <li>
                           }
                         ?>    

                    </ul>               
                </div>
            </div>
        </nav>
    </div>
</header>

希望這可以幫助。

謝謝您的回復。 使用if語句確實可以解決簡單的問題:

<nav>
        <div class="wrap-nav">
            <div class="menu">
                <ul class="list-unstyled">
                    <? if ($_SESSION['user']['first_name']): ?>
                        <li><a href="#"><i class="icon fa fa-user"></i> Hello <?= $_SESSION['user']['first_name'] ?></a></li>
                    <? endif ?>
                    <li><a href="/"><i class="icon fa fa-home"></i> Home</a></li>
                    <li><a href="/blog"><i class="icon fa fa-book"></i> Blog</a></li>
                    <? if ($_SESSION['user']['level'] < 2): ?>
                        <li><a href="/payment"><i class="icon fa fa-pencil"></i> Write a Blog</a></li>
                    <? else: ?>
                        <li><a href="/admin"><i class="icon fa fa-pencil"></i> Admin</a></li>
                    <? endif ?>
                    <? if ($_SESSION['user']['first_name']): ?>
                        <li><a href="?action=logout"><i class="icon fa fa-sign-in"></i> Logout</a></li>
                    <? else: ?>
                        <li><a href="/sign_in"><i class="icon fa fa-sign-in"></i> Login</a></li>
                        <li><a href="/register"><i class="icon fa fa-pencil"></i> Register</a></li>
                        <? endif ?> 
                </ul>               
            </div>
        </div>
    </nav>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM