Skip to content

📝 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 ​

  1. 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
  2. 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 utilisant header("Location: dashboard.php");
    • Sinon, affichez un message d’erreur

🔧 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Ă© ​

  1. 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

🔧 Exercice 3 : Ajouter un bouton de dĂ©connexion ​

Objectif : Permettre Ă  l’utilisateur de se dĂ©connecter en dĂ©truisant sa session ​

  1. Créez une page logout.php qui :

    • DĂ©marre la session
    • DĂ©truit la session (session_destroy())
    • Redirige l’utilisateur vers login.php
  2. Ajoutez un bouton "Se déconnecter" sur dashboard.php pointant vers logout.php

â„č Aide
html
    <p><a href="logout.php">Se déconnecter</a></p>

🎁 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 ​

  1. 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
  2. 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);
}