用户登录PHP后无法更改登录菜单以注销

时间:2017-04-08 11:18:15

标签: php

我正在尝试在我的网站上构建身份验证系统,我能够成功注册并登录但登录后我的菜单栏仍然显示登录选项。

<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> 

我该怎么办?

1 个答案:

答案 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();