Как получить роль пользователя из функции? - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь создать регистрацию и войти в систему на той же странице, все хорошо, за исключением пользовательских ролей.

Мне нужно получить роли для перенаправления пользователей на страницы ролей

как я могу получить роль пользователя на странице входа в систему?

вот моя функция:

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!';
    }
}
...