Vous êtes sur la page 1sur 13

Session

Objectifs du cours

 Présentation
 Fonctionnement interne des sessions
 Lecture et écriture d’une session
 Utilisation avancée
 Configuration de PHP
 Gestionnaires de sessions
Présentation
 Les sessions sont adaptées à la sauvegarde de données
confidentielles ou importantes. On peut citer quelques
exemples courants de leur mise en application :
 authentifier un visiteur ;
 garder des informations sur un utilisateur tout au long de sa
présence dans votre application;
 gérer le panier d’achat d’un internaute sur votre site
marchand;
 mettre en place des formulaires en plusieurs parties et donc
retenir les informations fournies dans les pages précédentes ;
 effectuer un cache par utilisateur de certaines actions
coûteuses en ressources.
Fonctionnement interne des
sessions
Différentes méthode d’une session
 Créer ou restaurer une session
 bool session_start ( void )
 Manipuler les données de session
 Tableau associatif superglobal $_SESSION
 Lire ou définir l'identifiant de session
 string session_id ( [string id] )
 Détruire toutes les variables d'une session
 void session_unset ( void )
 Détruire une session
 bool session_destroy ( void )
Différentes méthode d’une session
 bool session_start( ). Dans le cas ou true est retournée, cette
fonction permet soit de créer une session (si pas encore définie)
soit d’utiliser les variables de la session en cours.
 string Session_ID ([string id]) permet d’accéder à l’identifiant
unique d’une session. Dans le cas où un paramètre est précisé,
l'identifiant de session changera et prendra la valeur fournie
 string Session_Name([string name]) retourne le nom de la
session en cours ou le change avec la valeur du paramètre
précisé.
 L'affectation du tabeau $_SESSION permet de créer des
variables de session (il faut que session_start() soit en entête de
page).
Lecture et écriture d’une session
<?php
// initialisation
session_start() ;
// Tester la présence de la variable 'langage' dans la session
if ( isset( $_SESSION['langage'] ) ) {
echo 'langage existe dans la session et sa valeur est ' ;
// Lecture de la variable de session 'langage'
echo $_SESSION['langage'] ;
} else {
echo 'langage n\'existe pas dans la session' ;
}
?>
Mettre un tableau dans une
variable session
<?php
// Initialisation de la session
session_start() ;
// Écrire 'PHP' dans la variable de session 'langage'
$_SESSION['langage'] = 'PHP' ;
$tableau = array('un', 'deux', 'trois', 'quatre');
$_SESSION['tab'] = $tableau;
?>
Suppression d’une session
<?php
// On initialise et utilise la session
session_start();
$_SESSION['nom'] = 'Pierre';
echo $_SESSION['nom']; // affiche Pierre
// Divers traitements
// On détruit la session
session_destroy();
unset($_SESSION);
echo $_SESSION['nom'] ; // N’affiche rien
Utilisation avancée
<?php
// Définition de 'client' comme nom de session
session_name('client') ;
// et de '/tmp' comme répertoire de stockage des sessions
session_save_path('/tmp');
// Initialisation de la session
session_start() ;
// On récupère les informations de la session :
echo 'nom de la session : ', session_name() , '<br>' ;
echo 'identifiant utilisé : ', session_id() , '<br>' ;
?>
Autre variable :
 session_cache_expire : Retourne la configuration actuelle du délai
d'expiration du cache
 session_cache_limiter : Lit et/ou modifie le limiteur de cache de
session.
 session_decode : Décode les données encodées de session
 session_destroy : Détruit une session
 session_encode : Encode les données de session
 session_get_cookie_params : Lit la configuration du cookie de session
 session_id : est utilisé pour récupérer ou définir l'identifiant de session
pour la session courante.
 session_is_registered : Vérifie si une variable est enregistrée dans la
session
 session_module_name : Lit et/ou modifie le module de session courant
 session_name : Lit et/ou modifie le nom de la session
Autre variable :
 session_regenerate_id : Remplace l'identifiant de session courant par un
nouveau
 session_register_shutdown : Fonction de fermeture de session
 session_register : Enregistre une variable globale dans une session
 session_save_path : Lit et/ou modifie le chemin de sauvegarde des sessions
 session_set_cookie_params : Modifie les paramètres du cookie de session
 session_set_save_handler : Configure les fonctions de stockage de sessions
 session_start : Démarre une nouvelle session ou reprend une session
existante
 session_status : Détermine le statut de la session courante
 session_unregister : Supprime une variable de la session
 session_unset : Détruit toutes les variables d'une session
 session_write_close : Écrit les données de session et ferme la session

Vous aimerez peut-être aussi