我有一个登录页面,根据用户级别将用户重定向到网站的不同部分。 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!!!";
}
}