来自2个不同会话的PHP echo头链接

时间:2017-11-10 13:39:46

标签: php codeigniter session codeigniter-3

我刚刚创建了一个管理员登录应用程序,因此我还必须在管理员登录时更改标题中的链接。

所以我以前在标题中有这些链接:

<li>
    <?php
        if(isset($_SESSION['user_logged']) && $_SESSION['user_logged'] == true){
            echo '<a class="l3" href="https://kadokado-ferran10.c9users.io/user/profile">Profile</a>';
        }
    ?>
</li>
<li>
    <?php
        if(isset($_SESSION['user_logged']) && $_SESSION['user_logged'] == true){
            echo '<a class="l4" href="https://kadokado-ferran10.c9users.io/auth/logout">Uitloggen</a>';
        } else {
            echo'<a class="l5" href="https://kadokado-ferran10.c9users.io/auth/register">Registrate</a>';
            echo '</li><li>';
            echo '<a class="l6" href="https://kadokado-ferran10.c9users.io/auth/login">Login</a>';
        }
    ?>
</li>
<li>
    <a class"l7" href="<?= base_url() ?>/Product">
        <button type="button" class="btn btn-default btnca">Cadeau aanbieden</button>
    </a>
</li>

因此,当用户登录时,会显示带有个人资料的链接按钮。 现在我想要的是当管理员登录时,必须有一个名为Admin dashboard INSTEAD的按钮。

这是我想要的唯一更改..所有其他链接应保留在同一位置,例如注册并在用户注销时登录。

我试着这样做,但是当我这样尝试它时它不起作用:

<li>
    <?php
        if(isset($_SESSION['user_logged']) && $_SESSION['user_logged'] == true) {
            echo '<a class="l3" href="https://kadokado-ferran10.c9users.io/user/profile">Account</a>';
        }
    ?>
</li>
<li>
    <?php
        if(isset($_SESSION['admin_logged']) && $_SESSION['admin_logged'] == true){
            echo '<a class="l3" href="https://kadokado-ferran10.c9users.io/IndexController">Admin dashboard</a>';
    }?>
</li>
<li>
    <?php
        if(isset($_SESSION['user_logged']) && $_SESSION['user_logged'] == true) {
            echo '<a class="l4" href="https://kadokado-ferran10.c9users.io/auth/logout">Uitloggen</a>';
        } else {
            echo '<a class="l5" href="https://kadokado-ferran10.c9users.io/auth/register">Registreren</a>';
            echo '</li><li>';
            echo '<a class="l6" href="https://kadokado-ferran10.c9users.io/auth/login">Inloggen</a>';
        }
    ?>
</li>
<li>
    <a class"l7" href="<?= base_url() ?>/Product">
        <button type="button"   class="btn btn-default btnca">Cadeau aanbieden</button>
    </a>
</li>

有没有人有解决方案? 当我以管理员身份登录时,我没有看到退出按钮,但是我看到了注册和登录按钮...

1 个答案:

答案 0 :(得分:2)

在登录期间(在登录脚本中)设置以下$_SESSION

/**
* Define user_level:
* 1 = 'normal user'
* 10 = 'admin user'
*/
// For user:
$_SESSION['user_level'] = 1;

// For admin:
$_SESSION['user_level'] = 10;

现在代码:

<li>
    <?php
    if($_SESSION['user_level'] == 1): ?>
        <a class="l3" href="https://kadokado-ferran10.c9users.io/user/profile">Account</a>
    <?php endif;?>
</li>
<li>
    <?php if($_SESSION['user_level'] == 10):?>
        <a class="l3" href="https://kadokado-ferran10.c9users.io/IndexController">Admin dashboard</a>
    <?php endif; ?>
</li>
<li>
    <?php if($_SESSION['user_level'] <= 10):?>
        <a class="l4" href="https://kadokado-ferran10.c9users.io/auth/logout">Uitloggen</a>
    <?php else: ?>
        <a class="l5" href="https://kadokado-ferran10.c9users.io/auth/register">Registreren</a>
        </li><li>
        <a class="l6" href="https://kadokado-ferran10.c9users.io/auth/login">Inloggen</a>
    <?php endif ;?>
</li>