Session sous PHP

 

Lorsqu'un visiteur arrive sur votre site, il y a création d'une session. L'intérêt de la session est de pouvoir conserver des informations durant tout le temps de la visite de la personne. En effet, cette session existera durant tout le temps de la visite.

Problème, vous ne serez pas forcement informé quand le visiteur va quitter votre site. Il a donc été mis en place un système de timeout pour fermer automatiquement une session au bout d'un certain temps d'inactivité de la part du visiteur.

Sous PHP, lorsqu'un nouveau visiteur arrive, PHP génère un PHPSESSID (un n° assez long en hexadecimal). Ce n° sera transmis de page en page.

 

Démarrer une session

Pour créer ce n° de session et pouvoir le récupérer de page en page, il suffit d'utiliser:

session_start()

AttentionVous devez mettre cette commande sur chacunes de vos pages et ceci AVANT le moindre code, déclaration de quoi que ce soit ou presque. Votre fichier commencera donc ainsi:

<?php

session_start();

ou

<?php
session_cache_limiter('private_no_expire, must-revalidate');

session_start();

 

Détruire une session

Pour fermer, détruire une session, vous utiliserez la commande:

session_destroy();

Vous trouverez souvent cette commande derrière un bouton de déconnexion.

NoteNe détruisez pas la session si vous voulez que les données survivent durant tout le temps de la visite !

 

Utiliser une session

L'idée étant de stocker des informations ou de pouvoir les relires, vous utiliserez une variable suerglobale nommée $_SESSION gérée comme un tableau. En paramètre, vous lui passez le nom de l'information à stocker.

AttentionEn majuscule, sinon, cela ne marchera pas !

Exemple:

$_SESSION ['nom']='MENSOIF';

$_SESSION ['prenom']='GERARD';

Pour relire vos données, rien de plus simple:

echo $_SESSION ['nom'];

 

FREE

AttentionChez Free, pour pouvoir utiliser les sessions, il faut impérativement créer un répertoire nommé sessions à la racine de votre site ! Facilement fait via FTP.