У меня проблема с формой входа. По сути, я хочу, чтобы меня перенаправляли на другую страницу PHP в зависимости от роли пользователя.
<?php
session_start();
$error = '';
if (isset($_POST['submit'])) {
if (empty($_POST['username']) || empty($_POST['password'])) {
$error = "Username or Password is invalid";
}
else{
// Define $username and $password
$username = $_POST['username'];
$password = $_POST['password'];
// mysqli_connect() function opens a new connection to the MySQL server.
$conn = mysqli_connect("localhost", "root", "", "gbadacdb");
// SQL query to fetch information of registerd users and finds user match.
$query = "SELECT * FROM users where username=? AND password=? LIMIT 1";
// To protect MySQL injection for Security purpose
$stmt = $conn->prepare($query);
$stmt->bind_param("ss", $username, $password, $id_role);
$stmt->execute();
$stmt->bind_result($username, $password,$id_role);
$stmt->store_result();
if($stmt->fetch()) //fetching the contents of the row {
$_SESSION['login_user'] = $username; // Initializing Session
if ($_SESSION['id_role'] == 1){
header("location: user.php"); // Redirecting To Profile Page
}
else
{
header("location: admin.php");
}
}
mysqli_close($conn); // Closing Connection
}
?>
Я пробовал с if()
и switch()
, но ничего не работает.
Нет сообщений об ошибках, когда я нажимаю "отправить" в форме входа, ничего не происходит. Без этого if ($_SESSION['id_role'] == 1)
все работает нормально, за исключением того, что я перенаправлен на ту же страницу, не имеет значения, является ли пользователь администратором или нет.