** Этот код позволяет перенаправить успешно вошедшего в систему пользователя на страницу student_profile.php, однако мне нужно проверить тип пользователя, который пытается войти в систему, и в соответствии с этим отправить этого участника в соответствующее место. В БД у меня есть поле с именем account, которое имеет разные типы членов; студент, арендодатель и администратор, и все они имеют свои собственные страницы. **
<?php
include ("connect.php");
if (isset($_POST["user_login"]) && isset ($_POST["user_pass"])){
// formatting field via reg replace to ensure email and password only conisists of letters and numbers preg_replace('#[^A-Za-z0-9]#i','',
$login_user = $_POST["user_login"];
$login_password = $_POST["user_pass"];// password is encryted in DB (MD5) therefore user inputted password will not match encryted password in DB - we have to assign new var
$decrypted_password = md5($login_password);
// Query which finds user (if valid) from DB - Achieving authentication via username and password
$user_query = mysqli_query($connect, "SELECT * FROM users WHERE email = '$login_user' AND password = '$decrypted_password' AND closed = 'no' LIMIT 1");
$check_user = mysqli_num_rows($user_query); // checking to see if there is infact a user which those credentials in the DB
if ($check_user==1){
while ($row = mysqli_fetch_array($user_query)){
$id = $row['user_id'];
}
// if the user credentials are correct, log the user in:
$_SESSION["user_login"] = $login_user;
header( "Location:profile_student.php" ); // refresh page
exit;
}
else {
echo "<div class='wrong_login'>
<p> Email or password is incorrect, please try again. </p>
</div>";
}
}
?>
Используйте if else или switch case:
if ($check_user==1){
while ($row = mysqli_fetch_array($user_query)){
$id = $row['user_id'];
$user_type = $row['account'];
}
// if the user credentials are correct, log the user in:
$_SESSION["user_login"] = $login_user;
// check the user type and redirect according to it
if($user_type == "student"){
$redirection_page = "student.php";
} elseif ($user_type == "Landlord"){
$redirection_page = "landlord.php";
} elseif ($user_type == "Administrator"){
$redirection_page = "administrator.php";
} else {
$redirection_page = "default.php";
}
header( "Location:{$redirection_page }" ); // refresh page
exit;
}
Других решений пока нет …