gestion des sessions [ Répondre ] Par : Jose Bamboula on 2006-05-14 18:11 | [forum:1821] |
Les sessions Une variable session contrairement à un cookie est stockée sur le serveur lui même, toute fois l'identifiant de session permettant de repérer l'utilisateur , est stocké sur le poste du client. Au même titre que les cookies, les variables sessions sont accessibles dans toutes les pages du site, dans la mesure ou celles-ci autorisent l'utilisation des variables sessions (session_start()) Démarrer une session Pour pouvoir utiliser les variables sessions dans une page du site vous devez en entête du fichier faire appel à la fonction session_start(). * bool session_start() description : permet de créer une session (si elle n'existe pas) ou d'utiliser les variables de la session en cours : retourne true si la session est démarrée L'identifiant de session Un fois la session démarrée, vous pouvez accéder à l'identifiant de session (unique pour chaque session) à l'aide de la fonction * string session_id ([string id]) : si le paramètre id est spécifié, l'identifiant de session changera et prendra la valeur fournie. Ex.<? echo session_id() ?> Le nom de la session Vous pouvez également connaître le nom de la session avec la fonction suivante : * string session_name([string name]) : si le paramètre name est spécifié, le nom de session changera et prendra la valeur fournie. Ex. <? echo session_name() ?> Créer une variable session Une fois la session créée, vous devez déclarer les variables que vous souhaitez utiliser : ces variables peuvent être déclarée sur n'importe quelle page du site, à l'aide de la fonction session_register() (dans la mesure ou session_start() est placé en entête de page). * bool session_register (mixed name [, mixed ...]) description : enregistre la variable name dans la session en cours, peut contenir un nombre variable d'éléments : retourne true si la variable est créée. Exemple <? // si la variable session n'existe pas if (!isset($Var1)) { session_register("Var1"); } ?> ou encore <? // si la variable session n'existe pas if (!session_is_registered("Var1")) { session_register("Var1"); } ?> ou encore pour créer plusieurs variables en même temps <? // création des variables session_register("Var1","Var2","Var3"); // affectation des valeurs $Var1="valeur1" $Var2="Valeur2" $Var3="Valeur3" ?> Pour modifier une variable session : <? $newvaleur="Nouvelle valeur"; // si la variable session existe if (session_is_registered("Var1")) { $Var1=$newvaleur; } else // la variable session n'existe pas on la crée { $Var1=$newvaleur; session_register("Var1"); } ?> Supprimer une variable session Il est possible de supprimer une variable qui n'est plus utile de la mémoire en utilisant la fonction session_unregister(). * bool session_unregister (string name) description : supprime la variable name dans la session en cours : retourne true si la variable a été supprimée correctement. Exemple <? // Si la variable session existe if (session_is_registered("Var1")) { session_unregister("Var1"); } ?> Détruire une session et ses variables Il est possible de supprimer tous les éléments de la session en cours à l'aide de la fonction session_destroy(). * bool session_destroy () Il est possible de supprimer toutes les variables de la session en cours à l'aide de la fonction session_unset(). * bool session_unset () Exemple : détruire la session courante : <? session_unset() session_destroy() ?> |