我正在尝试在我的网站上构建身份验证系统,我能够成功注册并登录但登录后我的菜单栏仍然显示登录选项。
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav navbar-right">
<li><a href="index.php">HOME</a></li>
<li><a href="#services">REGISTRATION</a></li>
<li><a href="download.php">DOWNLOAD</a></li>
<li><a href="contact.php">CONTACT</a></li>
<?php
if(isset($_SESSION['user_id']) === true){
?><li><a href="logout.php">LOGOUT</a></li><?php
}else{
?><li><a href="login.php">LOGIN</a></li><?php
}
?>
</ul>
</div>
</div>
我该怎么办?
答案 0 :(得分:1)
这件作品每次都会失败
if(isset($_SESSION['user_id']) === true){
?><li><a href="logout.php">LOGOUT</a></li><?php
}else{
?><li><a href="login.php">LOGIN</a></li><?php
?>
通常我们检查这样的会话,检查它是否已设置并检查它是否为空并且还修改了回声方式
if(isset($_SESSION['user_id']) ) && (!empty($_SESSION['user_id']) ){
echo '<li><a href="logout.php">LOGOUT</a></li>';
}else{
echo '<li><a href="login.php">LOGIN</a></li>';
}
?>
在每个页面的顶部也非常重要,在第1行和第2行使用此代码,否则会话功能不起作用
<?php
session_start();