Cette librairie implémente une session sous PHP3.
Elle est essentiellement utile pour les installations avec les versions anciennes de PHP3,
ie. avant l'implementation des sessions, ou sur des hebergement ayant desactivés le support natif des sessions.
Elle peut etre egalement interessante à des fins d'apprentissage du PHP ( aborde plusieurs concepts).
La session permet d'utiliser des variables persistantes ( stockées coté serveur entre les appels de pages ).
Pour l'utiliser, il suffit d'inclure la librairie en debut de page.
La librairie crée un tableau associatif $Session. Les variables a faire persister doivent etre stockées dans celui-ci.
En fin de page, un appel a Session_Save() permet de sauvegarder la session.
Note: un cookie est utilisé pour propager la session de page en page.
libsession.php | le programme source de la librairie. | |
libsession_fr.html | cette documentation |
Configuration
Dans le fichier libsession.php, configurer $SESSION_PATH : Repertoire temporaire ou sont stockées les sessions.
Important: ce repertoire ne doit pas etre accessible en lecture du web.
include "libsession.php";
...
// stockage d'un scalaire
$Session['mavariable']= "TOTO";
// stockage d'un tablo
$tablo= array( "value1", "value2", "value3" );
$Session['tablo']= $tablo;
...
// saving de la session
Session_Save();
Sauvegarde de la session. A appeller de préférence en fin de page.
Syntaxe : Session_Save()
Defini ou renvoie le timeout de session, exprimé en minutes.
Apres $timeout minutes d'inactivité, la session est fermée automatiquement.
Valeur par defaut : 10080 (soit 7 jours).
Deux usages sont possibles:
- pour definir le timeout: Session_TimeOut( $timeout );
- pour connaitre la valeur de timeout actuelle: $timeout = Session_TimeOut();
Session_SetTimeout( 120 ); // defini un timeout de 120 minutes
echo "Le Timeout vaut: ", Session_SetTimeout(), " minutes"; // affiche le timeout de session
Fonction a appeller pour cloturer la session.
Session_End();
Important: l'appel doit avoir lieu en tete de page, avant tout affichage (echo, print).