Chapitre 9 Les Sessions en PHP

Télécharger au format pptx, pdf ou txt
Télécharger au format pptx, pdf ou txt
Vous êtes sur la page 1sur 10

Programmation WEB

Les sessions PHP

Préparé par Aminetou Chighaly


Objectifs

1. présenter les différentes techniques qui vont permettre d’identifier un utilisateur


et, d’autre part,
2. suivre cet utilisateur et les données qui lui sont associées, d’une page à l’autre.
Principe des sessions
o Les sessions constituent un moyen de stocker temporairement les données sur le serveur.

o ces données sont propres à chaque utilisateur qui se connecte à celui-ci et sont associées à un identifiant

de session unique.

o Sur un site marchand par exemple, le panier est conservé même si l'utilisateur navigue vers une nouvelle

page ou recharge la page courante. Les sessions PHP permettent de conserver ces données au cours de

la navigation.

o Un des grands intérêts des sessions est qu’on va pouvoir conserver des informations pour un utilisateur

lorsqu’il navigue d’une page à une autre. 


Principe des sessions
o À la différence de cookies, les informations de sessions sont stockées sur le serveur ce qui fait que les sessions

vont pouvoir être beaucoup plus sûres que les cookies.

o Notez toutefois que le but des sessions n’est pas de conserver des informations indéfiniment mais simplement

durant une « session ».

o Une session démarre dès que la fonction session_start() est appelée et se termine en général dès que la

fenêtre courante du navigateur est fermée.

o La superglobale $_SESSION est un tableau associatif qui va contenir toutes les données de session une fois la

session démarrée.
Initialisation
Une session PHP démarre avec l'appel de la fonction session_start(). L'appel de cette fonction

doit impérativement être la toute première instruction de votre script ou document, sinon les sessions ne

fonctionneront pas. Voici un exemple :


Les variables de session
Les données de la session sont accessibles via le tableau global $_SESSION. Ce tableau est accessible en lecture et
en écriture. L'exemple suivant compte le nombre de fois que la page a été chargée :
Destruction
o Les sessions, comme leur nom l'indique sont liées à une session de l'utilisateur. Lorsque l'utilisateur ferme son

navigateur, la session est automatiquement détruite.

o Si les sessions sont inactives, elles sont automatiquement détruite au bout d'un laps de temps. Cette durée de

vie est un paramètre du serveur, généralement réglé par défaut sur 24 minutes.

o Il est parfois nécessaire de détruire tout ou partie des variables de session, typiquement, lorsqu'un utilisateur

se déconnecte.

o La fonction session_destroy() détruit toutes les données de la session déjà établie.


Exercice d’application: Authentification
 on va mettre en pratique les sessions lors de l’authentification. L'objectif est de créer trois pages PHP:

● login.php: qui authentifie l'utilisateur. Elle contient un formulaire renfermant une zone de texte, une zone de
mot de passe et un bouton d'envoi.
● session.php: qui représente la page à accès limité. Aucun visiteur n'a le droit de voir son contenu s'il n a pas été
authentifié par la page login.php.
● deconnexion.php: est la page qui permet de déconnecter le client (détruire la session) et rediriger le navigateur
vers la page login.php.

Si le client tente d'accéder directement à la page session.php alors qu'il n'est pas authentifié, il sera aussitôt redirigé
vers la page login.php. Si'il fournit un bon login et un bon mot de passe alors il sera redirigé vers la
page session.php qu'il a désormais le droit de consulter.

Pour simplifier, nous allons définir statiquement le bon login qui est "user" et le bon mot de passe qui est "1234".
Exercice d’application 02
Le but de l'exercice est de réaliser la structure suivante :
Exercice d’application 02
● Créer la page "login.php" qui demande à l’utilisateur la saisie de son login et son mot de passe dans un
formulaire .On suppose avoir  deux utilisateurs: User (Login="user",Passw="123") et Admin
(Login="Admin",Passw="Admin123") :
○ L'admin peut accéder à toutes les pages alors que User ne peut accéder qu'à la page secrète_1.php
seulement.
○ Si l’utilisateur demande les pages secrètes directement, il devra être redirigé vers la
page d’authentification.
○ Si l'utilisateur est déjà authentifié et redemande la page login.php , ça serait mieux de lui afficher un
message de bienvenue et un lien pour la déconnexion au lieu d'afficher le formulaire d'authentification.
● Afficher dans les pages secrètes un message de bienvenue avec le login de l’utilisateur (Par
exemple :Bonjour Ahmed) et un lien pour la déconnexion.

Vous aimerez peut-être aussi