如何从功能中获取用户角色?

时间:2018-11-11 14:40:55

标签: function mysqli php-7

我正在尝试在同一页面上创建注册和登录,所有这些都很好地发挥了用户角色。

我需要获得角色以将用户重定向到角色页面

  

如何在登录页面上获得用户角色?

这是我的功能:

public function Login($username, $password)
{
    try {
        $pdo = DB();
        $stmt = $pdo->prepare("SELECT * FROM users WHERE (username=:username OR email=:username) AND password=:password");
        $stmt->bindParam("username", $username, PDO::PARAM_STR);
        $enc_password = hash('sha256', $password);
        $stmt->bindParam("password", $enc_password, PDO::PARAM_STR);
        $stmt->execute();
        if ($stmt->rowCount() > 0) {
            $result = $stmt->fetch(PDO::FETCH_OBJ);
            return $result->id;
        } else {
            return false;
        }
    } catch (PDOException $e) {
        exit($e->getMessage());
    }
}
  

然后登录要在其中扮演用户角色的部分

$username = trim($_POST['username']);
$password = trim($_POST['password']);

if ($username == "") {
    $login_error_message = 'Username field is required!';
} else if ($password == "") {
    $login_error_message = 'Password field is required!';
} else {
    $id = $app->Login($username, $password); // check user login
    if($id > 0)
    {
        $_SESSION["loggedin"] = true;
        $_SESSION['id'] = $id; 
        $_SESSION['username'] = $username; 
        $_SESSION['email'] = $email; 
        $_SESSION['role'] = $role; 
        switch ($role){
        case 0:
        header("location: error.php");
        break;
        case 1: 
        header("location: admin/index.php");
        break;
        case 2: 
        header("location: index.php");
        break;
        } 
    }
    else
    {
        $login_error_message = 'Invalid login details!';
    }
}

0 个答案:

没有答案