我的代码使用登录类进行身份验证。我需要根据用户的登录信息(角色)获得一个变量,该变量将管理员用户定向到一个单独的页面。
在这里,我尝试在我的登录类中设置$role
变量:
private function getUserRole($role)
{
if ($this->databaseConnection()) {
$query_user = $this->db_connection->prepare('SELECT role FROM users WHERE user_name = :user_name');
$query_user->bindValue(':role', $role, PDO::PARAM_STR);
$query_user->execute();
return $query_user->fetchObject();
} else {
return false;
}
}
在我的index.php
页面上,我试图引导登录流量:
require_once('classes/Login.php');
$login = new Login();
if ($login->isUserLoggedIn() == true and $login->getUserRole() == 'admin'){
include("views/logged_in.html");
} else {
include("views/not_logged_in.php");
}
我是使用登录类的新手,我正在处理现有代码,因此我们将非常感谢任何帮助或建议。
答案 0 :(得分:0)
您需要传递user_name
而不是role
private function getUserRole($user_name)
{
if ($this->databaseConnection()) {
$query_user = $this->db_connection->prepare('SELECT role FROM users WHERE user_name = :user_name');
$query_user->bindValue(':user_name', $user_name, PDO::PARAM_STR);
$query_user->execute();
return $query_user->fetchObject();
} else {
return false;
}
}
<强>的index.php 强>
require_once('classes/Login.php');
$login = new Login();
if ($login->isUserLoggedIn() == true and $login->getUserRole($user_name) == 'admin') {
include("views/logged_in.html");
} else {
include("views/not_logged_in.php");
}