2017-06-18 6 views
-3

私のコードはログインクラスを使用して認証します。管理者ユーザーを別のページに誘導するユーザーのログイン情報(役割)に基づいて変数を設定する必要があります。 ここで私は私のログインクラス内$role変数を設定しようとしました:私は、ログイントラフィックをしようとしています私のindex.phpページでここユーザーの "ロール"に基づくPHPログイン

private function getUserRole($role) 
{ 
    if ($this->databaseConnection()) { 
     $query_user = $this->db_connection->prepare('SELECT role FROM users WHERE user_name = :user_name'); 
     $query_user->bindValue(':role', $role, PDO::PARAM_STR); 
     $query_user->execute(); 
     return $query_user->fetchObject(); 
    } else { 
     return false; 
    } 
} 

require_once('classes/Login.php'); 
$login = new Login(); 
if ($login->isUserLoggedIn() == true and $login->getUserRole() == 'admin'){ 
    include("views/logged_in.html"); 
} else { 
    include("views/not_logged_in.php"); 
} 

私はログインクラスを使用する新しいです私は既存のコードで作業しているので、助けや助言をいただければ幸いです。

+0

を渡す必要があります:何でプレースホルダの名前user_name'を投稿された; ':role'だけを使用しました。 –

答えて

0

あなたは `を使用しているところ、私は表示されませんuser_name代わりのrole

private function getUserRole($user_name) 
{ 
    if ($this->databaseConnection()) { 
     $query_user = $this->db_connection->prepare('SELECT role FROM users WHERE user_name = :user_name'); 
     $query_user->bindValue(':user_name', $user_name, PDO::PARAM_STR); 
     $query_user->execute(); 

     return $query_user->fetchObject(); 
    } else { 
     return false; 
    } 
} 

のindex.php

require_once('classes/Login.php'); 

$login = new Login(); 

if ($login->isUserLoggedIn() == true and $login->getUserRole($user_name) == 'admin') { 
    include("views/logged_in.html"); 
} else { 
    include("views/not_logged_in.php"); 
} 
+0

私は "user_name"の列を持っていますが、私のデータベースには "role"の列もあります。私が意図しているのは、ログインしているユーザーの役割列を参照し、if文でその役割が "admin"であるかどうかを確認することです。 login.phpの関数はログインを処理しますが、私はクラス "login"のインスタンスがユーザーの役割に対してどのくらい正確にチェックできるかはよくわかりません。関数 "isUserLoggedIn()"がロ​​グインしているかどうかを確認しますが、同じif文でindex.phpページでチェックできる関数をどのように書くことができますか? – Jerrad

+0

login.phpからコードを追加する必要があるかもしれませんので、私が働いているものを見ることができます。 login.phpで関数を作成し、あなたが指定したとおりにindex.phpでそれを参照することは機能しません。それは、 "管理者"の役割が参照されている場合、私が通過できるように私のif文を渡さないということを意味するログイン画面を通過させません。 – Jerrad

関連する問題