2017-04-08 6 views
-1

私は自分のウェブサイトに認証システムを構築しようとしていますが、正常に登録してログインすることができますが、ログイン後メニューバーにログインオプションが表示されます。ユーザが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

session_start()を追加したことを確認していますか?あなたのページに@ user66016 – Karthik

+0

私たちはあなたが与えたコードで正解を与えることはできません。ここにはセッションが作成されたページとあなたのPHPコードの一番上の部分が表示されます – Gert

+0

mysqliはありません。質問のステータスはどうですか?以下の回答が有効な解決策であるようです。 –

答えて

1

この作品は、通常、私たちは、このようなセッションをチェックし、それが設定されているかどうかを確認し、それがまた空ではなく、あなたのエコー方法

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>'; 
    } 
    ?> 

を変更しているかどうかを確認

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

毎回失敗します各ページの上部で非常に重要です.1行目と2行目でこのコードを使用してください。そうでなければセッション機能は動作しません。

<?php 
session_start(); 
関連する問題