0

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

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

?>

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

我可以做这样的事情:

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

对不起,我对此很陌生!我仍然不明白其中的一些。

哦,如果我可以做第二个代码块,我如何将它与我的第一个代码块合并?

4

3 回答 3

0

只需这样做:

if ('megan' === $_SESSION['username'] && 'megan' === $_SESSION['password']) { 
    header('Location: admin.php'); 
} else { 
    header('Location: login-home.php');  
} 
于 2012-06-30T04:45:06.500 回答
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");
 }
}


?>

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

好的,我用这个工作了大约一个小时,然后它就停止了工作......我不知道。我能得到一些帮助吗?

于 2012-07-02T14:22:57.527 回答
0

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

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

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 美分;)

于 2012-06-30T05:54:53.783 回答