Only the ‘Admin’ if statement runs correctly. Anything else will jump to the un-nested else…any reason as to why?
Note: Yes, I’ve checked the spelling of the ranks…they are spelled correctly
Will redirect after user has succesfully logged in (login-sucessful.php):
<?php session_start(); if(isset($_SESSION["username"])){ if ($_SESSION["rank"] == 'Admin'){//Check if Admin header("location:/panel/admin/profile.php"); } elseif ($_SESSION["rank"] == 'Faculty'){//Check if Faculty header("location:/panel/student/profile.php"); } elseif ($_SESSION["rank"] == 'Student'){//Check if Student header("location:/panel/faculty/profile.php"); } }else{ header("location:log-in.php"); } ?>
login page (login.php):
<?php session_start(); $host = "localhost"; $username = "username"; $password = "password!"; $database = "database"; $message = ""; try { $connect = new PDO("mysql:host=$host; dbname=$database", $username, $password); $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if(isset($_POST["login"])) { if(empty($_POST["username"]) || empty($_POST["password"])) { $message = '<label class="red-text text-darken-2">All fields are required</label>'; } else { $query = "SELECT * FROM login WHERE username = :username AND password = :password"; $statement = $connect->prepare($query); $statement->execute( array( 'username' => $_POST["username"], 'password' => $_POST["password"] ) ); $count = $statement->rowCount(); if($count > 0) { $_SESSION["username"] = $_POST["username"]; $_SESSION["rank"] = $statement->fetchColumn(3); header("location:login_success.php"); } else { $message = '<label class="red-text text-darken-2">Wrong Email or Password</label>'; } } } } catch(PDOException $error) { $message = $error->getMessage(); } ?>
Login Table: Login Table
Advertisement
Answer
Wow….Cant believe I just spent an hour on this….its 2am and im exhausted…must be the reason this slipped up…. } elseif ($_SESSION[“rank”] == ‘Faculty’){//Check if Faculty header(“location:/panel/student/profile.php”); } elseif ($_SESSION[“rank”] == ‘Student’){//Check if Student header(“location:/panel/faculty/profile.php”); files linked to wrong directory which forced it to shoot back to login page (cause rank wasnt allowed) Thanks so much guys…I feel like a dumbass…Going to sleep now