我正在尝试在同一页面上创建注册和登录,所有这些都很好地发挥了用户角色。
我需要获得角色以将用户重定向到角色页面
如何在登录页面上获得用户角色?
这是我的功能:
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!';
}
}