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 :

Parcourir un tableau en php - pense bête
Script de Backup / Sauvegarde de la Base Mysql en PHP
Fonction de sécurisation des données passées dans formulaire ou URL
Comment récupérer ou supprimer l'extension d'un fichier en PHP ?
Les variables à nom "variables" en PHP
Les cookies faciles
Require - format d'écriture
Opérations sur les dates en PHP
Lire un fichier .csv et l'enregistrer en base de données Mysql
Trouver l'adresse d'une image expression régulière
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