【问题标题】:Html code inside Php statement if User is admin如果用户是管理员,则在 Php 语句中的 Html 代码
【发布时间】:2014-12-24 02:29:25
【问题描述】:

我被困住了。我想显示不同的菜单选项,无论用户是普通用户、半管理员还是主管理员。在用户登录时的身份验证中,我设置了一个 $_SESSION['login'] 后跟一个数字,稍后我将使用它。

if ($num_rows > 0) {
            if ($username == "KP") {
                session_start();
                $_SESSION['login'] = '4';
                header("Location: Index.php");
            } else if($username == "FH"){
                session_start();
                $_SESSION['login'] = '3';
                header("Location: Index.php");
            } else{
                session_start();
                $_SESSION['login'] = '1';
                header("Location: Index.php");
            }
        } else {
            $errorMessage = "Error";
            return $errorMessage;
        }

所以根据用于登录的用户名,它会给出一个特殊的会话编号,对吗? 1是普通会员,3是co-admin会员,4是main-admin。

在我的菜单中,当用户登录时,我想为管理员显示特殊功能。

<?php elseif (isset($_SESSION['login'])) : ?>

    <li class="separator"></li>
    <li><a href="#Web-Menus" class="arrow">Profile / Logout</a>

        <div class="drop decor3_2 dropToLeft" style="width: 460px; height: 240px;">
            <div class='left'>
                <b>Profile</b>
                <div>
                    <a href="#">Profile</a><br/>
                    <a href="#">#</a><br/>
                    <a href="#">#</a>
                </div>
            </div>
            <div class='left'>
                <br/>

                <div>
                    <a href="Logout.php">Logout</a><br/>
                </div>
            </div>

            <?php if($_SESSION['login'] == 4) : ?>
                <div class="left">
                    <div>
                        <a href="#">Session4 KP</a><br/>
                        <a href="#">Session4 KP</a><br/>
                        <a href="#">Session4 KP</a>
                    </div>
                </div>
            <?php endif; ?>
            <?php if($_SESSION['login'] == 3) : ?>
                <div class="left">
                    <div>
                        <a href="#">Session3 FH</a><br/>
                        <a href="#">Session3 FH</a><br/>
                        <a href="#">Session3 FH</a>
                    </div>
                </div>
            <?php endif; ?>
        </div>
    </li>

<?php endif; ?>

如您所见,对于会话编号为 4 的用户 KabelPlus,菜单中应该有一些额外的事情要做,但如果 $_SESSION['login'] != 3 或 4 则不会出现的事情。

我的问题是,即使我以 KP 或 FH 身份登录,菜单中的 ekstra 链接也不会出现。这有什么问题?

【问题讨论】:

  • 返回$_SESSION['login'] 看看它是否返回了您想要的号码。或者您可以通过浏览器查看。
  • 也许问题出在您的elseif 在您看来&lt;?php elseif (isset($_SESSION['login'])) : ?&gt; 检查这是否是您的问题,就像user3278616 所说的在屏幕上打印您的登录号码。
  • 在这个 elseif 语句之前,我有一个语句说,如果没有 session['login'],菜单中的两个机会是 CreateUser/Login。那行得通:)我在这个页面上也有 session_start() 以及所有其他页面:)

标签: php html session admin


【解决方案1】:

您应该在 php 代码中包含 html:

         <?php if(isset($_SESSION['login'])) {

             print("<li class='separator'></li>
             <li><a href='#Web-Menus' class='arrow'>Profile / Logout</a>

    <div class='drop decor3_2 dropToLeft' style='width: 460px; height: 240px;'>
        <div class='left'>
            <b>Profile</b>
            <div>
                <a href='#'>Profile</a><br/>
                <a href='#'>#</a><br/>
                <a href='#'>#</a>
            </div>
        </div>
        <div class='left'>
            <br/>

            <div>
                <a href='Logout.php'>Logout</a><br/>
            </div>
        </div>");

         if($_SESSION['login'] == 4) {
            print("<div class='left'>
                <div>
                    <a href='#'>Session4 KP</a><br/>
                    <a href='#'>Session4 KP</a><br/>
                    <a href='#'>Session4 KP</a>
                </div>
            </div>");} elseif($_SESSION['login'] == 3) {

            print("<div class='left'>
                <div>
                    <a href='#'>Session3 FH</a><br/>
                    <a href='#'>Session3 FH</a><br/>
                    <a href='#'>Session3 FH</a>
                </div>
            </div>
       };
         else {
         /* 
         final condition code
          */
         }} ?>
    </div>
             </li>

【讨论】:

    猜你喜欢
    • 2018-12-25
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2011-04-18
    • 2018-04-02
    • 1970-01-01
    相关资源
    最近更新 更多