Мне нужно перенаправить пользователей на разные страницы в зависимости от ролей, предоставленных им в базе данных. Только имя пользователя и пароль отправляются на страницу входа в систему. Я должен принести роль из базы данных, которая выглядит следующим образом:mysql перенаправляет пользователей на разные страницы в зависимости от роли php
username | password | role
admin1 admin1 admin
alex12 alex12 (nothing to normal users)
Вот код:
<?php
\t session_start();
\t // conectare la baza de date
\t $db = mysqli_connect("localhost", "root", "", "inregistrare");
\t if (isset($_POST['login_btn'])) {
\t \t $username = mysqli_real_escape_string($db,$_POST['username']);
\t \t $password = mysqli_real_escape_string($db,$_POST['password']);
\t \t $password = md5($password); // parola cryptata
\t \t $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
\t \t $result = mysqli_query($db, $sql);
\t \t if (mysqli_num_rows($result) == 1) {
\t \t \t $_SESSION['message'] = "Te poti Conecta!";
\t \t \t $_SESSION['username'] = $username;
\t \t \t header("location: clasa.php"); //spre o pagina
\t \t \t
\t \t }else{
\t \t \t $_SESSION['message'] = "Parola gresita!";
\t \t }
\t }
?>
<head>
\t <title>Conectare</title>
\t <link rel="stylesheet" type="text/css" href="./css/index-style.css">
</head>
<body>
<?php
\t if (isset($_SESSION['message'])) {
\t \t echo "<div id='error_msg'>".$_SESSION['message']."</div>";
\t \t unset($_SESSION['message']);
\t }
?>
<form method="post" action="clasa.php"> <!-- modifica si aici cand modifici mai sus la php-->
\t <table align="center">
\t \t
\t \t <tr>
\t \t \t <th id="titlu" class="titlu" colspan="2">Conectare</th>
\t \t </tr>
\t \t <tr>
\t \t \t <td class="border">Username:</td>
\t \t \t <td class="border"><input type="text" name="username" class="text-input" size="20"></td>
\t \t </tr>
\t \t <tr>
\t \t \t <td class="border">Password:</td>
\t \t \t <td class="border"><input type="password" name="password" class="text-input" size="20"></td>
\t \t </tr>
\t \t <tr>
\t \t \t <td class="spatiu"></td>
\t \t \t <td class="spatiu"></td>
\t \t </tr>
\t \t <tr>
\t \t \t <td><button class="register" type="submit" formaction="./register.php">Inregistrare</button></td>
\t \t \t <td><button class="connect" type="submit" name="login_btn">Conectare</button></td>
\t \t </tr>
\t </table>
</form>
</body>
</html>
«if (mysqli_num_rows ($ result) == 1) {« это неправильный человек, если имя пользователя верное, система будет регистрировать пользователя в –
$ password = md5 ($ password); // parola cryptata Это очень слабый метод шифрования, попробуйте password_hash() и password_verify() и используйте подготовленные операторы –
«SELECT * FROM users» перестает быть ленивым –