[英]Check if user is admin when logging in to PHP website
I am trying to create a login form where if you are an admin you will get logged into a different site than if you were a normal user. 我正在尝试创建一个登录表单,如果您是管理员,则将登录到与普通用户不同的站点。 However, I am not sure how to do so.
但是,我不确定该怎么做。
In my database I have "admin" column, that is set to 0 by default. 在我的数据库中,我有“ admin”列,默认情况下设置为0。 If it is 1 it would be an admin.
如果为1,则将是管理员。
Here is the login code: 这是登录代码:
if (isset($_POST['login_user'])) {
$username = mysqli_real_escape_string($db, $_POST['username']);
$password = mysqli_real_escape_string($db, $_POST['password']);
if (empty($username)) {
array_push($errors, "Skriv inn et brukernavn");
}
if (empty($password)) {
array_push($errors, "Skriv inn et passord");
}
if (count($errors) == 0) {
$password = md5($password);
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$results = mysqli_query($db, $query);
if (mysqli_num_rows($results) == 1) {
$_SESSION['username'] = $username;
$_SESSION['success'] = "Du er nå logget inn";
header('location: index.php');
}else {
array_push($errors, "Feil brukernavn eller passord");
}
}
}
I hope you can help me, 我希望你能帮帮我,
Thanks :) 谢谢 :)
Just add one more condition to check if logged in person is admin or not like below code 只需添加一个条件即可检查登录用户是否为管理员,如下面的代码所示
if (mysqli_num_rows($results) == 1)
{
$_SESSION['username'] = $username;
$_SESSION['success'] = "Du er nå logget inn";
$details = $results->fetch_array(MYSQLI_ASSOC)
if( $details['admin'] == '1')
{
redirect him to admin here
// header('location: index.php');
}
else if($details['admin'] == '0')
{
redirect him to normal page
//header('location: index.php');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.