2017-12-12 10 views
0

관리자를 다른 페이지로 리디렉션하고 다른 사용자를 다른 페이지로 리디렉션하고 싶습니다. 프로 시저에서는 수행 할 수 있지만 oop에서는 수행 할 수 없습니다. 관리자는 새로운 사용자를 추가하고 표시 할 수 있습니다. 사용자는 자신의 페이지 만 볼 수있는 반면에 많은 작업이 있습니다.로그인 - 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 [ '이름']','$ _SESSION 에코 않는다 [ '이름']' –

+0

무엇을 작동하지? 주석 처리 한 코드의 문제점은 무엇입니까? –

+0

귀중한 의견을 보내 주셔서 감사합니다 .... 답변을 얻었습니다. $ _SESSION [ 'username'] = $ username; – Manoj

답변

1

이렇게 쉬운 방법 중 하나는 역할을 정의하는 것입니다. 예를 들어

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

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

확인 아래의 코드는,이 도움이되기를 바랍니다. 에 저장

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

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

    header("Location: profile.php"); 

    } 

}