2016-05-11 11 views
0

私は現在、ログインフォームを持つウェブサイトを構築しています。このユーザがナビゲーションバーを有するロールに応じてそれに応じて表示されなければならない。データベース内のテーブルから1つの特定のフィールドを取得し、セッションで使用しています。

例:まだログインしていない人には、「ログイン」リンクがあります。 誰かがログインしていて管理者でない場合、別のナビゲーションバーが表示されます。

すべてのログイン詳細はdbに格納されています。これは、セッションを使用して実行する必要があります。これは、ユーザーを別のページに送信するためです。

アイデア?今まで

コード:

$query = "SELECT count(*) FROM tbl_users 
      WHERE username = '$username' AND password = '$pass'"; 

$result = mysqli_query($connection, $query) 
     or die("Error in query: ". mysqli_error($connection)); 

$row = mysqli_fetch_row($result); 
$counter = $row[0]; 

if($counter > 0) 
{ 
    session_start(); 
    $_SESSION['user']= $username; 
    $_SESSION['role'] = $row['role']; 
+0

あなたはいつもあなたがしようと何のエラー、あなたが持っているを持っているあなたのコードのサンプルを提供する必要があり、私たちはあなたのためのコードを書くことができない、あなたが最初にあなたの自己を試み、その後場合は、ここに依頼する必要があり、stackoverflowのへようこそあなたは何か問題があります。 –

+0

@Arshを追加するのを忘れました:) – Chanter

答えて

1

やや漠然とした質問はなく、自分の役割を確認してください。

if($_SESSION['role']=='admin') 
    echo 'I am admin'; 
elseif($_SESSION['role']=='customer') 
    echo 'I am customer'; 
else 
    echo 'No valid role/not logged in'; 
+0

私はこのコードを使用しましたが、ログインして別のページにリダイレクトしても、メニューはロードされません。 これはログイン後にページに表示されるコードです <?php session_start(); if($ _SESSION ['role'] == "registered"){ \t \t require_once( 'regnav.php'); \t} ?> – Chanter

関連する問題