Les sessions :
Les sessions permettent de stocker des informations côté serveur, et de les récupérer à chaque fois que l'utilisateur change de page. Les principales particularités des sessions sont :
- Les sessions sont stockées dans un tableau associatif
$_SESSION - Les sessions sont détruites automatiquement après X minutes d'inactivité (suivant l'hébergeur ou le type de service), la durée peut changer suivant le serveur de l'hébergeur.
- Les sessions sont détruites automatiquement à la fermeture du navigateur.
Nous pouvons à l'aide des sessions mettre en place un système de message dans les fonctionnalités de CRUD que nous avons déjà mises en place.
Pour pouvoir utiliser les sessions, il faut les démarrer dans chaque page dans laquelle on souhaite les utiliser que ce soit pour ne lire des valeurs comme pour les écrire.
Pour démarrer une session, il faut utiliser la fonction session_start() qui va démarrer la session ou la reprendre si elle existe déjà (Pattern Singleton).
Ecrire un message de succès :
Pour mettre en place un message de succès pour les différentes opérations du CRUD que l'on a mis en place, on démarre la session au tout début du fichier "core/admin-produit.php".
Maintenant que la session est démarrée, on ajoute dans chaque fonction (addProduit et editProduit) un message en session pour ensuite l'afficher lorsque l'on sera redirigé par la fonction header. On ajoute le code suivant dans chacune des fonctions.
Dans la fonction addProduit
Dans la fonction editProduit
Il ne reste plus qu'à rediger l'internaute vers la page "index.php" et de s'assurer qu'on y affiche le message en session.
Redirection :
Pour rediriger automatiquement l'internaute, on ajoute dans chacune des deux fonctions le code suivant :
Afficher le message :
Pour afficher le message, on ajoute démarre la session dans la page "index.php", la session doit toujours être démarrer dans les premières lignes du fichier.
Maintenant on peut vérifier si un message existe et dans ce cas l'afficher puis le supprimer, comme le montre le code suivant.