titre   titreD

 

Sessions

Une session permet d'enregistrer des données pour un utilisateur. Le serveur va créer un fichier de données pour chaque nouvelle session créée. Pour relié se fichier de donnée à chaque visiteur accédant à votre page web, le serveur lui assigne un identifiant unique, appelé "identifiant de session". Il peut être stocké soit dans un cookie, soit propagé dans l'URL.

Les sessions sont souvant utilisées lorsqu'un utilisateur se connecte à un site dans lequel les informations sont confidentiel. Puisque les données de la sessions sont enregistré sur le serveur dans un fichier, ce procéder est très sécuritaire.

La commande session_start(); créer une nouvelle session pour l'utilisateur et doit être placé au début du fichier avant tout code html à chaque page du site voulant accéder à la session. Si un fichier de donnée existe pour l'utilisateur en cours, les variables sont récupérées. Dans le cas contraire, un nouveau fichier est créé.

    Code PHP Résultat sur le serveur
 
01
02
03
04
05
06

<?php
// on appelle le fichier
session_start();
?>
<html>
...

Un fichier est créé sur le serveur pour enregistrer les variables session de l'utilisateur.

La session restera ouverte jusqu'à ce que l'utilisateur la ferme ou pour une période de temps définie par le serveur. Généralement le temps par défaut varie entre 30 à 60 minutes.


Variables session

Une variable de session peut être définie et utilisée à tout moment dès que la session est ouverte. L'exemple ci-dessous indique comment utiliser une variable session.

    Code PHP  
 
01
02
03
<?php
$_SESSION['nom_variable'] = "valeur" ;
?>
 


Commande isset( )

Lorsque l'utilisateur navigue le site, il est difficile de savoir si une variable a été affectée (utilisée). On peut utiliser la fonction isset() pour déterminé si la variable à été affectée dans la présente session.

    Code PHP  
 
01
02
03
04
05
<?php
if( isset($_SESSION['nom_variable']) ) {
    echo 'La variable existe !';
};
?>
 


Commande unset( )

On peut suprimmer une variable avec la commande unset( )

    Code PHP  
 
01
02
03
<?php
unset($_SESSION['nom_variable']);
?>



Fermeture d'un session

La commande session_destroy( ) ferme la session. Le fichier de données de l'utilisateur est effacé.

    Code PHP  
 
01
02
03
04
<?php
session_start();
session_destroy(); 
?>