Vous êtes ici Tutoriel > Utilisation des SESSIONS

 
 

PHP - Utilisation des SESSIONS

Tutoriel écrit par Rafael Guglielmetti
Ecrit le 04 Sep 2005 - modifié le 7 Sept 2008 par KOogar

Quand un site web devient de plus en plus sophistiqués, il doit avoir un code qui suit. Lorsque vous arrivez à un stade où votre site web nécessite de transmettre des informations importantes et confidentiels sur l'utilisateur d'une page à l’autre, alors c’est qu’il est temps de commencer à penser sur l'utilisation des sessions php.

Une session php vous permet de stocker des informations de l'utilisateur sur le serveur (son panier, ses identifiants de connection…) ce qui offre un haut niveau de sécurité, à l’inverse des cookies qui stockent les informations directement sur le poste du client. Toutefois, une session est temporaire et est effacé très rapidement du serveur. Le temps moyen est de 30 minutes par défaut.

Il est important de réfléchir si les sessions de stockage temporaire sont applicables à votre site. Si vous avez besoin d'un stockage permanent, vous devriez trouver une autre solution, comme une base de données MySQL.

L’utilisation des sessions pour une identification de visiteur ou un stockage temporaire permet d'éviter aux données des utilisateurs de se confondre lors de la visite de la même page web.

A noter: Un site web ou simplement une page complètement protégée par une session (administration, espace membre..) ne sera pas indexée par les moteurs de recherches.


Sommaire :




PHP - Utilisation des SESSIONS

 
PHP Session - Comment fonctionne une session ?

Les informations sont stockées dans des fichiers, sur le serveur, à chaque session correspond un fichier. Chaque session est désignée par un nom et un identifiant. Lorsque le visiteur accepte les cookies, l'identifiant de la session est stocké dans un cookie, dans le cas contraire, il existe un autre moyen de stocker l'identifiant. Normalement, la session est détruite ou à la fermeture du navigateur, ou au bout de 30 minutes. Cette valeur peut être modifiée dans le fichier php.ini du serveur.

Des exemples

Nous allons voir comment utiliser les sessions dans une suite d'exemple et de bouts de code.

PHP Session - Demarrer une session

Syntaxe :

.01
.02
.03
  <?php session_start(); ?>
Ce code permet de demarrer une session. Si un fichier existe sur le serveur pour cette session, les variables de sessions seront récupérées, si ce n’est pas le cas, un nouveau fichier sera créé.

Notez que code est à placé tout au début de votre page, avant tout code HTML, car la session ne peut etre demarrer que si le cache du navigateur est vide.

Créer une variable de session :
Les variables de sessions sont accessibles, une fois que la sessions est démarrée, via un tableau
super global : $_SESSION

.01
.02
.03
  <?php $_SESSION['variable'] = $valeur ; ?>
Nous créons ici une variable de session nommée variable qui vaut $valeur

Savoir si une variable de session existe
Pour savoir si la variable de session variable existe:

.01
.02
.03
.04
  <?php if(isset($_SESSION['variable']))
  echo
'La variable "variable" existe !'; ?>

PHP Session - Utiliser la valeur d’une variable de session

Si vous voulez utiliser la valeur d’une variable de session, vous devez passez par $_SESSION

.01
.02
.03
.04
.05
  <?php if(isset($_SESSION['variable']))
      echo
'La variable "variable" existe et vaut: ' . $_SESSION['variable'];
?>

PHP Session - Supprimer une variable de session

Pour supprimer une variable de session, il faut utiliser la fonction unset()

.01
.02
.03
.04
  <?php unset($_SESSION['variable']);
echo
'La variable de session "variable" est maintenant détruite';
?>

PHP Session - Détruire toutes les variables de session

La fonction session_unset() détruit toutes les variables de session.

Syntaxe :
.01
.02
  <?php session_unset(); ?>

PHP Session - Détruire une session

La fonction session_destroy() permet de détruire une session.

Syntaxe :
.01
.02
  <?php  session_destroy();  ?>
IMPORTANT

La session doit être déclarée dans le code tout en haut de votre page car le cache du navigateur doit être vide pour démarrer une session. Aucun code HTML avant le démarrage d'une session !!


© Copyright: Les tutoriels sont exclusifs et sont la propriétés des auteurs.
    Reproduction interdite.