Séance 11 – PHP : Sessions, Inscription et Connexion
Notions à retenir
- Session PHP :
- Appeler
session_start() au début du script (avant tout HTML) pour activer les sessions.
- Stocker des informations :
$_SESSION['pseudonyme'] = $pseudonyme;
- Vérifier si un utilisateur est connecté :
isset($_SESSION['pseudonyme'])
- Pour déconnecter :
session_unset(); session_destroy();
- Formulaires d'inscription :
- Vérifier que tous les champs sont reçus (
isset($_POST['champ'])).
- Nettoyer les chaînes avec
trim().
- Vérifier que le pseudonyme n’est pas vide et que les mots de passe sont identiques et ≥ 8
caractères.
- Hash du mot de passe :
password_hash($mdp, PASSWORD_DEFAULT).
- Requête SQL sécurisée avec
prepare() et execute([$pseudo, $hash]).
- Redirection selon succès ou erreur :
signup.php?success ou
signup.php?error.
- Formulaires de connexion :
- Vérifier réception des champs, nettoyer les chaînes.
- Vérifier que le pseudonyme existe dans la BDD.
- Vérifier le mot de passe avec
password_verify($mdp_saisi, $mdp_hash).
- Si correct : créer
$_SESSION['pseudonyme'] et rediriger vers index.php.
- Sinon : rediriger vers
login.php?error.
- Gestion du header et déconnexion :
- Modifier le header pour afficher "Déconnexion" si l’utilisateur est connecté.
- Script
logout.php : session_unset(), session_destroy(), redirection vers login.php.
- Bonnes pratiques :
- Toujours appeler
session_start() avant tout affichage.
- Ne jamais stocker de mot de passe en clair.
- Nettoyer et valider toutes les entrées utilisateurs.
- Rediriger les utilisateurs selon leur état de connexion pour protéger les pages.