三种不同的角色,三种不同的观点

时间:2016-03-24 09:35:28

标签: javascript php html if-statement

我目前正在学校项目中,我们正在建立一个有三种不同类型角色的网站。

在我们的用户表中,我们有一个名为“role”的属性。此角色有一个包含3个不同值的表,1,2和3.

1(管理员) 2(管理员) 3(用户)。

我想要的是:当有人登录时,代码想要查找该用户具有的角色值,然后将该用户重定向到“admin.php”(如果值为1),“adminuser.php “(如果值为2)或”user.php“,如果值为3。 这是当前的代码,它可以让您登录,但无论如何都会被发送到同一页面。

if(isset($_POST['email']))
{
 $query = <<<END
 SELECT email, password, userID, FROM user
 WHERE email = '{$_POST['email']}'
AND password = '{$_POST['password']}'
END;
$res = $mysqli->query($query);
if ($res->num_rows > 0)
{
 $row = $res->fetch_object();
 $_SESSION["email"] = $row->email;
 $_SESSION["userID"] = $row->id;
header("Location:admin.php");
  }
  else
 {
 echo "Fel email eller lösenord.";
 }
}

1 个答案:

答案 0 :(得分:0)

如果角色位于用户表中,请使用简单数组进行尝试。 在简单的代码下面,您可以从中获得您的愿望输出。

$role = array("1"=> "Admin.php", "2"=> "Adminuser.php", "3"=> "user.php");
if(isset($_POST['email'])){
  $query = <<<END
  SELECT email, password, userID, id FROM user
  WHERE email = '{$_POST['email']}'
  AND password = '{$_POST['password']}'
  END;
  $res = $mysqli->query($query);
  if ($res->num_rows > 0){
    $row = $res->fetch_object();
    $_SESSION["email"] = $row->email;
    $_SESSION["userID"] = $row->id;

    //retrieve the user role from user-table, i use userid, you may use your own field
    $query2 = <<<END
    SELECT role FROM user-table
    WHERE userid = '{$row->id}'
    END;
    $res2 = $mysqli->query($query2);
    $row2 = $res2->fetch_object();

    header("Location: ".$role[$row2->role]);
  }else{
    echo "Fel email eller lösenord.";
  }
}