根据用户级别从数据库获取和存储PHP会话变量

时间:2017-06-23 08:38:38

标签: php mysql

我有一个登录页面,根据用户级别将用户重定向到网站的不同部分。 users表没有名字和姓氏。它包含他们的idnumber和密码以及其他一些列。

用户的名字和姓氏根据用户级别存储在各种表中。例如,在teachers表中,它具有名字等,也在学生表中。

我想获取登录用户的名字并将其存储在会话变量中,这样我就可以输出像"嗨,John"这样的内容。

我试过了,但它似乎没有用。有没有更有效的方法来实现这一目标,还是我走在正确的轨道上?我将不胜感激任何帮助。

代码摘录

if (isset($_POST['login'])) {

    $idnumber = mysqli_real_escape_string($con, $_POST['user-name']);
    $password = mysqli_real_escape_string($con, $_POST['user-password']);
    $result = mysqli_query($con, "SELECT * FROM users WHERE idnumber = '" . $idnumber . "' and password = '" . md5($password) . "'");

    if ($row = mysqli_fetch_array($result)) {
        $_SESSION['usr_id'] = $row['id'];
        $_SESSION['email'] = $row['email'];
        $_SESSION['userlevel'] = $row['userlevel'];
        $_SESSION['idnumber'] = $row['idnumber'];
        echo $_SESSION['usr_id'];

        if ($_SESSION['userlevel']=="1"){
            $loggedinusername = mysqli_query($con, "SELECT a.idnumber, b.firstnames, b.surname FROM users a LEFT JOIN educationdirectors b ON a.idnumber=b.idnumber WHERE idnumber = '" . $_SESSION['idnumber']. "'");
            if ($row = mysqli_fetch_array($loggedinusername)) {
                $_SESSION['idnumber'] = $row['firstnames'];
                header("Location: v1/ued/");
            } 

        } 
        else
        if ($_SESSION['userlevel']=="2"){
            header("Location: v1/ced/");
        }

    } else {
        $errormsg = "Incorrect Email or Password!!!";
    }
}

0 个答案:

没有答案