Génération PHP.net » Les sessions

Les sessions

Introduction

Avant de commencer, vous devez savoir que seules les versions supérieures à PHP4 peuvent gérer les sessions.

Les sessions sont utilisées afin de conserver des valeurs lors de la navigation d’un visiteur sur votre site. Elles permettent de personnaliser certaines parties de votre visite selon le visiteur.

PHP attribura à chaque nouveau visiteur un identifiant unique appelé “identifiant de session”. Cet identifiant peut être enregistré soit dans un cookie, soit dans l’URL grâce au rewriting.

Les sessions vous permettent d’enregistrer des variables qui seront accessible lors de prochaine visite ou lors du démarrage d’une session.

Démarrer une session

Afin de démarrer une session, vous devez utiliser session_start() qui créera une session (ou restaurera une session trouvée sur le serveur). Si session.auto_start est activé, une session sera automatiquement créée lors du chargement de la page.

Lors du démarrage de la session avec la fonction session_start(), vous ne devez avoir envoyer aucun texte, retour de ligne ou code HTML avant son appel, au risque de voir apparaître une erreur.

Vous devez démarrer une session sur chacune de vos pages si vous désirez récupérer ou enregistrer des variables de sessions.

Exemple

<?php
// Démarrage d'une session
session_start();
?>

Enregistrement de variables

L’enregistrement de variables se fait pas l’assignation de la valeur désirée à la variable superglobals du nom désirée. Consultez le cours sur les variables superglobales.

Exemples

<?php
session_start();
 
// Variable superglobal (PHP 4 < 4.1.0)
$HTTP_SESSION_VARS['nom'] = 'Xenon';
?>
<?php
session_start();
 
// Variable superglobal (PHP 4 >= 4.1.0)
$_SESSION['nom'] = 'Xenon';
?>

Récupération de variables

Pour récupérer vos variables, appeller la variable à laquelle vous lui avez assigné la valeur.

Exemples

<?php
session_start();
 
// Variable superglobal (PHP 4 < 4.1.0)
echo $HTTP_SESSION_VARS['nom'];
?>
<?php
session_start();
 
// Variable superglobal (PHP 4 >= 4.1.0)
echo $_SESSION['nom'];
?>

Destruction de session

<?php
session_start();
 
// Détruit toutes les variables de session
$_SESSION = array();
 
// Détruit la session
session_destroy();
?>

Fonctions relatives