Session pour le login
Utiliser les sessions pour le login
Notions théoriques
Introduction
Les sessions sont essentielles pour gérer l'authentification des utilisateurs sur un site web. Elles permettent de maintenir l'état de connexion d'un utilisateur entre les différentes pages.
Mise en place d'un système de login avec sessions
-
Formulaire de connexion : Créez un formulaire HTML où l'utilisateur peut entrer son nom d'utilisateur et son mot de passe.
-
Vérification des identifiants : Lors de la soumission du formulaire, vérifiez les identifiants de l'utilisateur par rapport à une base de données ou un ensemble de données statiques.
-
Démarrage de la session : Si les identifiants sont corrects, démarrez une session et stockez les informations de l'utilisateur.
-
Gestion de la session : Sur chaque page nécessitant une authentification, vérifiez si une session est active.
Exemple de code
Formulaire de connexion
Créez un formulaire HTML, dans un fichier
login.php, pour permettre à l'utilisateur de saisir son nom d'utilisateur et son mot de passe.
<!DOCTYPE html>
<html>
<body>
<h2>Connexion</h2>
<form action="login.php" method="post">
<label for="username">Nom d'utilisateur :</label><br>
<input type="text" id="username" name="username"><br>
<label for="password">Mot de passe :</label><br>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="Se connecter">
</form>
</body>
</html>
Traitement du login, dans le fichier login.php
Ce fichier vérifie les identifiants de l'utilisateur et démarre une session si les identifiants sont corrects.
<?php
session_start();
// Données d'exemple
$users = [
'admin' => 'password123',
'user' => 'mypassword'
];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
if (isset($users[$username]) && $users[$username] === $password) {
$_SESSION['username'] = $username;
header('Location: dashboard.php');
} else {
echo "Identifiants incorrects.";
}
}
?>