Compte Rendu TP4 : Les Sessions
note: les visuels des codes fournis ne sont pas sous forme de capture d'ecran mais sous forme de texte directement
pour une meilleur lisibilité
Exercice 1 : Initialisation de la Session
Objectifs : Créer une page PHP capable de démarrer une session serveur et d'initialiser des variables persistantes (nom, prénom, email, heure) avant de rediriger l'utilisateur.
Approche : Utilisation de la fonction primitive session_start() pour l'initialisation et du tableau superglobal $_SESSION pour le stockage. La fonction time() capture le timestamp actuel.
Code Source
<?php
session_start();
$_SESSION['nom'] = 'Dupont';
$_SESSION['prenom'] = 'Jean';
$_SESSION['email'] = 'jean.dupont@email.com';
$_SESSION['heure'] = time();
header('Location: page2.php');
exit();
?>
Fonctionnement : Le script démarre la session, ce qui génère ou récupère l'ID de session unique. Les valeurs sont assignées en mémoire serveur. La fonction header envoie une instruction HTTP de redirection immédiate vers la page d'affichage.
Exercice 2 : Affichage des données
Objectifs : Vérifier la persistance des données en les affichant sur une nouvelle page et manipuler les dates.
Approche : Réouverture de la session existante. Utilisation de la fonction de formatage date() pour transformer le timestamp stocké en chaîne lisible (Format Jour/Mois/Année Heure:Minute).
Code Source
<?php
session_start();
echo 'Nom : ' . $_SESSION['nom'] . '<br>';
echo 'Prénom : ' . $_SESSION['prenom'] . '<br>';
echo 'Email : ' . $_SESSION['email'] . '<br>';
echo 'Date et Heure : ' . date('d/m/Y H:i:s', $_SESSION['heure']);
?>
Résultat
Fonctionnement : La session est restaurée grâce au cookie client. PHP accède au fichier de session sur le serveur et peuple le tableau $_SESSION. Les données sont ensuite concaténées et envoyées au flux de sortie HTML.
Exercice 3 : Déconnexion
Objectifs : Fournir un mécanisme pour clore la session utilisateur de manière sécurisée.
Approche : Appel de la fonction de destruction session_destroy() qui supprime les données associées à l'ID de session actuel sur le serveur.
Code Source
<?php
session_start();
session_destroy();
echo 'Vous avez été déconnecté.';
?>
<br>
<a href="login.php">Se connecter</a>
Résultat
Fonctionnement : Le script réinitialise l'accès à la session courante puis demande au serveur de supprimer le fichier de stockage des données. L'utilisateur ne peut plus accéder aux variables précédentes.