1

我需要一些帮助,让我的导航栏替换登录链接以注销已登录的用户。我试过这段代码:

<?php   
    if(isset($_SESSION['username'])) {
        echo '<li><a href="logout.php"><span>Log Out</span></a></li>';
    } else {
        echo '<li><a href="login.php"><span>Log In</span></a></li>';
    } 
?>  

但它不起作用。它仍然在我的导航栏上显示登录按钮。
我已经在我的 nav.php 中插入了代码 我的 nav.php 中
的代码看起来像这样

<div id='cssmenu'>
    <ul>  

        <?php include('include\menuspace.php'); ?>  

        <li><a href='index.php' id='framside' onclick='changeDiv('1')'><span>Framsida</span></a></li>  

        <li><a href='skolen.php' id='skulen'><span>Skulen</span></a></li>  

        <?php include('include\ifnotie.php'); ?>
        <?php include('include\ifie.php'); ?>  

        <li><a href='elevar.php' id='elevrådet' onclick='changeDiv('3')'><span>Elevrådet</span></a></li>  

        <li><a href='ledelsen.php' id='ledelse' onclick='changeDiv('4')'><span>Ledelse</span></a></li>  

        <li><a href='kontakt.php' id='kontakt' onclick='changeDiv('5')'><span>Kontakt</span></a></li>  

        <?php if(isset($_SESSION['username'])) {
        echo '<li><a href="logout.php"><span>Log Out</span></a></li>';
        } else {
        echo '<li><a href="login.php"><span>Log In</span></a></li>';
        } ?>  

    </ul>
</div>  

nav.php 是单个文件,我使用<?php include'(include/nav.php)'; ?>
每个需要导航栏的 php 文件中的代码。

这是 访问控制页面的打印屏幕 ,需要您登录才能查看。

- -编辑 - -

我确实像 LotusH 说的那样, if(isset($_SESSION['username']))改为 if(isset($_SESSION['name_of_user']))

它一直有效,直到我单击注销按钮。然后它不会变回登录。

---EDIT-19.04.2012----

修复了logout变成login的问题,不得不放一个session_destroy();

4

2 回答 2

1

根据输出var_dump($_SESSION)

array(3) { 
   ["name_of_user"]=> string(13) "Administrator" 
   ["email_of_user"]=> string(19) "ikt-kons-ost@hfk.no" 
   ["usr_7fe2869648"]=> string(13) "Administrator" 
} 

在您的评论中,您应该重写if(isset($_SESSION['username']))if(isset($_SESSION['name_of_user']))

于 2013-03-21T14:04:58.677 回答
0

首先检查你有start没有session?如果没有,那么写session_start();在顶部

然后试试这个代码:

<?php   
    if(isset($_SESSION['username']) and $_SESSION['username']!='') {
        echo '<li><a href="logout.php"><span>Log Out</span></a></li>';
    } else {
        echo '<li><a href="login.php"><span>Log In</span></a></li>';
    } 
?> 
于 2013-03-21T13:27:12.690 回答