Autorisation simple via une base de données en PHP
Implémentons l'autorisation la plus simple sur la base d'une base de données, pour l'instant sans inscription. Au lieu de l'inscription des utilisateurs, nous allons simplement saisir leurs identifiants et mots de passe dans une table de la base de données :
id | login | password |
---|---|---|
1 | user | 12345 |
2 | admin | 123 |
Créons maintenant un formulaire dans lequel seront saisis l'identifiant et le mot de passe :
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Écrivons maintenant le code qui vérifiera si le formulaire est envoyé et, s'il est envoyé, vérifiera s'il existe dans la base de données un utilisateur avec cet identifiant et ce mot de passe :
<?php
if (!empty($_POST['password']) and !empty($_POST['login'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login' AND password='$password'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
if (!empty($user)) {
// utilisateur autorisé
} else {
// identifiant ou mot de passe incorrect
}
}
?>
Implémentez l'autorisation décrite ci-dessus. Faites en sorte que si l'utilisateur a réussi l'autorisation - un message s'affiche pour le confirmer, et s'il n'a pas réussi - un message indiquant que l'identifiant ou le mot de passe saisi est incorrect.
Modifiez le code afin qu'en cas de réussite de l'autorisation, le formulaire de saisie du mot de passe et de l'identifiant ne s'affiche pas à l'écran.
Modifiez le code afin qu'en cas de réussite de
l'autorisation, une redirection vers la page
index.php
se produise.
Modifiez le code afin que sur la page
index.php
un message de
réussite de l'autorisation s'affiche. Résolvez le problème via
des messages flash en session.