PHP SQL - войти с несколькими ролями пользователя - PullRequest
1 голос
/ 13 января 2020

У меня проблема с формой входа. По сути, я хочу, чтобы меня перенаправляли на другую страницу 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) все работает нормально, за исключением того, что я перенаправлен на ту же страницу, не имеет значения, является ли пользователь администратором или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...