Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
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