我需要一些帮助,让我的导航栏替换登录用户登录的登录链接。我试过这段代码:
<?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文件中。
这是一个 Print Screen of access controlled page要求您登录才能看到。
---编辑---
我确实喜欢LotusH说,要将if(isset($_SESSION['username']))
更改为if(isset($_SESSION['name_of_user']))
直到我点击退出按钮才有效。然后它不会改回登录。
--- EDIT-19.04.2012 ----
修复了注销更改为登录的问题,必须放入session_destroy();
答案 0 :(得分: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']))
答案 1 :(得分: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>';
}
?>