2015-02-26 1 views
0

У меня есть PHP-сайт, основанный на MySQL, с папками для страниц-членов и папок для страниц администрирования. Я хочу направить пользователей на разные страницы в соответствии с тем, как они входят в систему - как член или как администратор (с основных страниц пользователя) - это функция, которую я пробовал, и она не работает. Пожалуйста, помогите мне написать функцию, которая будет работать для этого.Как перенаправить пользователей в разные каталоги на основе данных сеанса в PHP?

function connectadmin($level) { 
    if ($level === "Administrator"){ 
     include('admin/home.php'); 
    }elseif ($level === "Member"){ 
     include('member/home.php'); 
    } 
} 

connectadmin($level); 
+0

использовать заголовок («Location: desiredpage») ; include не будет перенаправляться на любую страницу, он будет содержать код этого файла. –

+0

@habibulhaq, спасибо. Я пробовал это, и он все еще не работает. Однако любая помощь будет оценена. Да благословит вас Бог за то, что помог мне. Я новичок в этом, поэтому вам действительно полезно предоставить какие-либо данные. –

+0

как вы получили это значение уровня $? плюс попробуйте проверку if с двойным значением, равным знаку .. потому что кажется, что нет необходимости проверять тип значения. –

ответ

2

Ну, вы должны перенаправить пользователей, не включают в себя файлы:

// At beggining of this file insert this line 
// Start session 
session_start(); 

function connectadmin($level) { 
    if ($level === "Administrator"){ 

     // Set user role 
     $_SESSION['role'] = 'Administrator'; 

     // Redirect user 
     header('Location: admin/home.php'); 
     exit(); 
    }elseif ($level === "Member"){ 

     // Set user role 
     $_SESSION['role'] = 'Member'; 

     // Redirect user 
     header('Location: member/home.php'); 
     exit(); 
    } 
} 

// $level should be something you retrieve from your Database for example 
// And perhaps, should be 'Administrator' or 'Member' following your example 
connectadmin($level); 

И после того, как пользователь перенаправлять не забудьте проверить, если зарегистрированный пользователь имеет доступ к перенаправляется странице.

Edit: Например, если вы хотите, чтобы проверить, если пользователь является администратором и иметь доступ к странице администратора/home.php, сделать что-то вроде этого:

// You should get from your database, some file or use sessions, 
// in your function I have used sessions, so lets use them here too 

// At beggining of your file use this 
session_start(); 

// If user is not Administrator 
if($_SESSION['role'] !== 'Administrator'){ 

    // It's not admin, let redirect him to somewhere else or show him a Access not allowed page 
    header('Location: accessNotAllowed.php'); 
    exit(); 

} 
+0

Спасибо ... Я пробовал это, и он все еще не работает, но я очень благодарен за ваше время. Да благословит вас Бог за то, что помог мне! –

+0

@Imarcelocc - Как проверить, имеет ли зарегистрированный пользователь доступ к перенаправленной странице? Прости, если я говорю глупо - я просто учусь. Спасибо за любую помощь, и Бог благословит вас. –

+0

Ваш прием, но этот код должен работать на вас, я попробовал его и его работу, может быть, что-то еще с вашим кодом :) – lmarcelocc