根据用户重定向到不同的页面

时间:2012-06-29 23:25:00

标签: php mysql

我需要一个代码将特定用户重定向到一个页面,将其他所有人重定向到另一个页面。这就是我所拥有的。     

if(isset($_POST['submitted']))
{
if($fgmembersite->Login())
 {
    $fgmembersite->RedirectToURL("login-home.php");
 }
}

?>

我需要用户“megan”密码“megan”去admin.php和其他人登录home.php

我可以这样做:

if ($_SESSION['username'] === "megan") { 
        header('Location: admin.php'); 
    }else{ 
        header('Location: login-home.php');  
    } 

对不起,我很新!我还是不明白其中的一些。

哦,如果我能做第二段代码,我该如何将它与第一块代码结合起来?

3 个答案:

答案 0 :(得分:0)

这样做:

if ('megan' === $_SESSION['username'] && 'megan' === $_SESSION['password']) { 
    header('Location: admin.php'); 
} else { 
    header('Location: login-home.php');  
} 

答案 1 :(得分:0)

您应该考虑为每个用户使用组。例如,您可以在users表中创建一个组字段(用户名和密码保存在该表中),该字段可以存储组号。然后在检查用户身份验证后(通过从数据库中提取用户并根据输入的用户名和密码对其进行验证),您只需检查组字段(从提取的记录中)以将其重定向到特定页面。

例如,在验证用户名和密码后,您可以使用:

switch($group) {
    case '1':
        header('Location: admin.php');
        break;
    case '2':
        header('Location: login-home.php');
        break;
    default:
        // any other location you want to redirect
}

通过使用此方法,您可以让许多用户属于同一个组并重定向到特定页面(基于组号)。这比检查个人用户名更好。

只需2美分;)

答案 2 :(得分:0)

我明白了,这就是我所做的。

<?PHP
require_once("./include/membersite_config.php");
session_start();
$users['admin'] = array('password' => 'admin', 'redirect' => 'admin.php');
$users[$username] = array('password' => $password, 'redirect' => 'login-home.php');

if(array_key_exists($_POST['username'],$users)) {
if($_POST['password'] == $users[$_POST['username']]['password']) {
    $_SESSION['loggedIn'] = true;
    header('Location:'.$users[$_POST['username']]['redirect']);
    exit();
 }
else {
// invalid password
header('location: login.php');
exit;
}
}
else {
// invalid username
header('location: login.php');
exit;
}
if(isset($_POST['submitted']))
{
 if($fgmembersite->Login())
 {
      $fgmembersite->RedirectToURL("login-home.php");
 }
}


?>

但由于某种原因,有时页面不会加载。有什么想法吗?

好的,我正在使用它大约一个小时,然后它只是停止工作......我没有想法。我能得到一些帮助。