Appearance
đ TP 04 - Gestion de session, cookies et redirections en PHP â
đŻ Objectifs â
â Comprendre et manipuler les sessions en PHP
â Utiliser les cookies pour stocker des informations persistantes
â Apprendre Ă gĂ©rer les redirections avec header()
â CrĂ©er un systĂšme de connexion simple (sans base de donnĂ©es)
đ§ Exercice 1 : Mise en place de la connexion avec les sessions â
Objectif : Permettre aux utilisateurs de se connecter Ă une page sĂ©curisĂ©e grĂące aux sessions â
Créez une page
login.php
qui contient un formulaire avec :- Un champ pour le nom dâutilisateur (
login
) - Un champ pour le mot de passe (
password
) - Un bouton Se connecter
- Un champ pour le nom dâutilisateur (
VĂ©rifiez les identifiants dans
login.php
aprĂšs soumission du formulaire :- Acceptez uniquement le couple
admin / 1234
- Si les identifiants sont corrects :
- DĂ©marrez une session PHP (
session_start()
) - Stockez le nom dâutilisateur en session
- Redirigez vers
dashboard.php
en utilisantheader("Location: dashboard.php");
- DĂ©marrez une session PHP (
- Sinon, affichez un message dâerreur
- Acceptez uniquement le couple
đ§ Exercice 2 : SĂ©curiser lâaccĂšs Ă une page avec les sessions â
Objectif : Bloquer lâaccĂšs Ă dashboard.php
si lâutilisateur nâest pas connectĂ© â
- Créez une page
dashboard.php
qui :- DĂ©marre la session (
session_start()
) - VĂ©rifie si lâutilisateur est connectĂ©
- Si ce nâest pas le cas, redirige vers
login.php
- Affiche un message de bienvenue avec le nom dâutilisateur
- DĂ©marre la session (
đ§ Exercice 3 : Ajouter un bouton de dĂ©connexion â
Objectif : Permettre Ă lâutilisateur de se dĂ©connecter en dĂ©truisant sa session â
Créez une page
logout.php
qui :- DĂ©marre la session
- DĂ©truit la session (
session_destroy()
) - Redirige lâutilisateur vers
login.php
Ajoutez un bouton "Se déconnecter" sur
dashboard.php
pointant verslogout.php
âčïž Aide
html
<p><a href="logout.php">Se déconnecter</a></p>
1
đ Exercice 4 (bonus) : Utilisation des cookies pour retenir lâutilisateur â
Objectif : Permettre Ă lâutilisateur de rester connectĂ© mĂȘme aprĂšs la fermeture du navigateur â
Dans
login.php
, si lâutilisateur coche "Se souvenir de moi" :- CrĂ©ez un cookie
remember_user
stockant le login (durée : 7 jours) - Au prochain accÚs, remplissez automatiquement le champ login
- Créez un cookie
Dans
dashboard.php
, affichez un message indiquant si lâutilisateur est reconnu via le cookie
âčïž Aide
php
if (!empty($_POST['remember'])) {
setcookie("remember_user", $_POST['login'], time() + 7 * 24 * 60 * 60);
}
1
2
3
2
3