2015-08-08 5 views
0

У меня есть 2 роли под названием Member и Admin. Однако, что касается сейчас, чтобы провести различие между сеансами, я сделал только инструкции if else. Например,Как перенаправить пользователя после входа на нужную страницу в соответствии с их ролью?

session_start(); 
$msg = ""; 


if (isset($_SESSION['user_id'])) { 
############################### 
} else { 
################################ 

if (isset($_POST['username'])) { 
################################# 
    <?php 
    if (isset($_SESSION['user_id'])) { 
     if ($_SESSION['role'] == "Admin") { 
      ?> 
      ################################ 
      ################################ 
    <?php 
     } elseif ($_SESSION['role'] == "Member") { 
      ?> 
      ################################# 
      ################################# 

Следующие знаки хэша просто вставляют то, что должен видеть член и что должен видеть администратор. Эта страница, содержащая следующие коды, находится в doLogin.php после того, как введены учетные данные в login.php. Тем не менее, я нахожу проблему, когда нажимаю на home.php для администратора, поскольку в основном дом для администратора - фактически doLogin.php. Часто появляется сообщение «Подтвердить повторную подачу».

Что я хотел сделать сейчас, когда администратор входит в систему, он должен быть перенаправлен на новую страницу, которая представляет собой admin.php, содержащий все сведения о том, что должен видеть администратор. Как мне это сделать?

+0

'заголовка ("Location: http://example.com/page.php");' http://stackoverflow.com/questions/768431/how-to -make-a-redirect-in-php –

ответ

2

Использование header location перенаправлять

<?php 
if (isset($_SESSION['user_id'])) { 
if ($_SESSION['role'] == "Admin") { 

    header("Location:admin.php"); 
    exit; 

} elseif ($_SESSION['role'] == "Member") { 

    header("Location:member.php"); 
    exit; 
} 
} 
?> 
+0

работает для меня, thx. – Drew

Смежные вопросы