le MEMO du WEB développeur
••• PHP •••  Liste des Mémos, astuces et bonnes pratiques

L'utilisation des sessions en PHP

PHP permet le stockage de variables, dites "de session" $_SESSION qui sont propagées lors de la navigation de l'internaute sur votre site Internet.

Le modus operandis est très simple, il faut démarrer son script avec la fonction session_start () qui signale que vous souhaitez récupérer les variables de session sur votre page.

La variable super-globale $_SESSION est un tableau qui contient toutes les variables de session de votre site.

Créons dans l'exemple ci-dessous la variable de session n_visite qui va comptabiliser le nombre de visites que fait un internaute sur la page concernée par le script.

Création d'une variable de session  

<?php
session_start();
if (!isset ($_SESSION['n_visite ']){// Si première fois que l'internaute ouvre la page, on initialise la variable
  $_SESSION['n_visite ']=1;
}else{
  $_SESSION['n_visite ']++;
}
echo 'Nombre de fois que vous visionnez cette page : '.$_SESSION['n_visite '];

?>

La variable $_SESSION['n_visite '] peut être retrouvée sur n'importe quelle autre page de votre site, vous pouvez aussi bien l'utiliser et l'incrémenter depuis un autre script et compter le nombre de pages vues par un internaute lors d'une session.

Suppression d'une variable de session

session_destroy()

Sinon une session est détruite par défaut lorsque l'internaute ferme son navigateur.
Cela dit, comme les sessions reposent sur l'utilisation d'un cookie, il est possible de modifier les paramètres de ce cookie pour l'empêcher de se détruire à la fermeture du navigateur.

Prolongation de la durée de vie d'une variable de session

<?php
 session_set_cookie_params(time()+604800);
 session_start();
?>

La fonction set_cookie_params() permet de modifier les propriétés du cookie de session en augmentant sa durée de vie, il ne sera plus détruit à la fermeture du navigateur par l'internaute.

Identifiant de session

<?php
session_start();
echo "L'identifiant de session est : ".session_id();
?>

L'identifiant de session est une valeur qui identifie de façon unique un internaute lors d'une session.

Avertissements concernant l'utilisation des variables de session

  • Vous devez impérativement déclarer la fonction session_start() avant tout affichage de votre script !
  • Un internaute qui n'accepte pas les cookies ne pourra pas utiliser les variables de session

Astuce

La fonction session_save_path() renvoie l'endroit où sont stockées sur le serveur les variables de session.

publié le 26/07/2013 par Memo Web
Sessions
Commenter le Mémo :

Require - format d'écriture
Protection contre les injections HTML XCSS
Tester format de chaîne style mot de passe
Une fonction file_put_contents pour PHP4
Transmettre un nombre variable de paramètres dans une fonction PHP
Les variables à nom "variables" en PHP
Fonction de parcours des variables de formulaire
Fonction include() en PHP et URL externe
Problème : header("Location ... ne marche pas
Convertir un format dateTime Français en format MySQL
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos