在php中访问不同的用户登录

在php中访问不同的用户登录,php,Php,我已经用php代码创建了登录表单,它可以正常工作,但我正在尝试为不同的用户进行多重访问。我在我的用户表user_type中添加了新的列,我已经在这个网站上阅读了这个主题,但不幸的是没有帮助。 这是我的代码: 医院会员的帐户访问权限 @ 登录 $document.readyfunction{ $'olvidado'。单击函数{ e、 防止违约; $'divform-olvidado'。切换'500'; }; $'acceso'。单击函数E{ e、 防止违约; $'divform-olvida

我已经用php代码创建了登录表单,它可以正常工作,但我正在尝试为不同的用户进行多重访问。我在我的用户表user_type中添加了新的列,我已经在这个网站上阅读了这个主题,但不幸的是没有帮助。 这是我的代码:

医院会员的帐户访问权限 @ 登录

$document.readyfunction{ $'olvidado'。单击函数{ e、 防止违约; $'divform-olvidado'。切换'500'; }; $'acceso'。单击函数E{ e、 防止违约; $'divform-olvidado'。切换'500'; }; };
首先,您需要从数据库中获取用户类型。此外,从DB中选择all*并不是最佳做法,请具体说明

$sql = "SELECT username, password, user_type FROM users WHERE username='$username' AND password='$password'";
您的检查条件应检查是否为真,否则不应检查。您正在检查$num_行是否不是0。那么如果您的mysqli_查询返回false,您将登录该用户吗?那不好。检查是否为true->login

我们将在代码中添加头函数,所以如果用户类型是admin,它将把他重定向到admin.php,否则,用户将重定向到index.php

上述示例:

$run = mysqli_query($conn,$sql);
$check = mysqli_num_rows($run);

if ($check == 1){

    #fetch the information
    $row = mysqli_fetch_assoc($run);

    # Save username and user type
    $user_type = $row['user_type'];
    $_SESSION['username'] = $row['username'];
    $_SESSION['user_type'] = $user_type;

    # Check is user is admin or not and redirect him
    if($user_type == 'admin') {

        header('Location: path/to/admin.php');

    } else {

        header('Location: path/to/index.php');

    }


} else {

    # No user found, redirect him back to login page
    header('Location: path/to/login.php');

}

问题是什么?你应该澄清你需要什么帮助。你想实现什么,什么不起作用,你有什么错误吗?谢谢你的重播,这段代码很有效,我想要的是如何让不同的用户在不同的页面上访问。例如,管理员用户与其他用户具有不同的页面。我想编辑php代码,以便能够作为管理员和普通用户访问不同的页面,希望我能解释清楚,您需要在每个页面的开头检查是否允许用户访问该页面。而且,这类事情很难做对,你需要的信息比一个回答中所能提供的要多,所以我很感谢你的帮助,它显示登录页面的意思是我很糟糕,我忘了添加;在$user_type=$row['user_type']之后,我将编辑原始答案。我感谢您的帮助。它显示登录页面意味着找不到用户,请将他重定向回登录页面标题'Location:path/to/login.php';这意味着check不等于1,因此语句为false。这可能是因为错误的用户名/密码、没有连接到数据库等。您需要确保代码的其他部分正常工作,并且它们返回预期值,您可以始终使用vardump值来查看发生了什么。没问题。请标记答案,以便结束问题。