2017-12-12 8 views
0

管理者をページにリダイレクトし、他のユーザーを別のページにリダイレクトします。 プロシージャでは実行できますが、oopでは実行できません。 管理者は新しいユーザーを追加して表示することがありますが、ユーザーは自分のページだけを見ることができますが、多くの仕事があります。login-phpの別のページにリダイレクト

<?php 
require_once('userClass.php'); 
$userObj = new USER(); 
session_start(); 
$type = $_GET['type']; 


if(empty($type) || !isset($type)) { 

    echo 'Request type is not set'; 

} else if($type == 'signup') { 

    $data = USER::addNewUser($_REQUEST); 
    $_SESSION = $data; 
    if($data['status'] == 'error') { 
    header("location:register.php"); 
    } else { 
    header("location:index.php"); 
    } 
} else if($type == 'login') { 
    $username = addslashes($_REQUEST['username']); 
    $password = addslashes($_REQUEST['password']); 
    $_SESSION = USER::login($username, $password); 
    if($_SESSION['status'] == 'error') { 
    header("location:index.php"); 
    } 
    else { 

    header("location:profile.php"); 

    } 
    /*if($_SESSION['username'] == '[email protected]') { 
    header("location:admin.php"); 
    } 
    else { 

    header("location:profile.php"); 

    }*/ 


} else if($type == 'logout') { 
unset($_SESSION); 
session_destroy(); 
header("location:index.php"); 
} 


?> 

解決策を探しています。助けてください。 *コードの冒頭の部分を見てください。

+0

最初のチェックデータは、 '動作していない何$ _SESSION [ 'ユーザ名']' –

+0

をエコーし​​ますか?あなたがコメントアウトしたコードの問題は何ですか? –

+0

貴重なコメントをいただきありがとうございました....私は答えを得ました。私は$ _SESSION ['username'] = $ usernameをしなければなりませんでした。 – Manoj

答えて

1

これを行う簡単な方法の1つは、役割を定義することです。例えば

if($_SESSION['username'] == '[email protected]' && $_POST['role'] = 'admin'){ 
     header("location:admin.php"); 
} 
else { 

header("location:profile.php"); 
} 
0

チェック以下のコードは、このことができます願っています。 `$ _SESSION [ 'ユーザ名']`に保存されて

if($_SESSION['status'] == 'error') { 
    header("Location: index.php"); 
    } 
    else { 

    if($_SESSION['username'] == '[email protected]') { 
    header("Location: admin.php"); 
    } 
    else { 

    header("Location: profile.php"); 

    } 

} 
関連する問題