Académique Documents
Professionnel Documents
Culture Documents
Cookies et Sessions
1
Les cookies
§ Qu'est-ce qu'un cookie ?
§ Par exemple, on pourrait stocker dans ce cookie le nom du visiteur et par la suite,
afficher son nom à chaque fois qu'il se connectera sur le site (ceci bien sur, s'il
n'efface pas les cookies de son disque dur)
§ Ceci n'est possible que si le visiteur a entré lui-même ses informations dans un
formulaire sur le site
Les cookies
§ Où sont placés les cookies ?
§ Cela dépend du navigateur que vous utilisez
§ Pour I.E : outils=> Options Internet
Les cookies
n Où sont placés les cookies pour Google chrome?
4
Les cookies
n Où sont placés les cookies pour Firefox?
§ Cliquez sur le bouton de menu et sélectionnez Options .
§ Sélectionnez le panneau Vie privée
§ Dans la zone Historique, pour l'option Règles de conservation,
sélectionnez utiliser les paramètres personnalisés pour l'historique
4
Les cookies
comment créer de tels cookies ?
– On utilise la fonction setcookie()
5
Les cookies
§ Explications:
Exemple
§ Supposons que sur une page de notre site WEB nous souhaitons faire en sorte
que si le visiteur vient pour la première fois (ou qu'il a supprimé ses cookies), il
12
Résultat sur Firefox
Remarque
-header() doit être appelée avant que le moindre contenu ne soit envoyé,
soit par des lignes HTML habituelles dans le fichier, soit par des
affichages PHP.
Une erreur très classique est de lire un fichier avec include ou require, et
de laisser des espaces ou des lignes vides, qui produiront un affichage
avant que la fonction header() ne soit appelée. Le même problème existe
avec les fichiers PHP/HTML standards
Les cookies
Plusieurs conditions sont à respecter afin que l'utilisation des cookies se passe au mieux :
§ l'envoie d'un cookie doit être la première fonction PHP que vous utilisez dans votre
script, ce qui veut dire que vous devez utiliser la fonction setcookie() tout en haut de
votre script (Aucun affichage et aucun code html avant un setcookie)
§ Si vous envoyez un cookie sur un poste client, celui-ci effacera automatiquement l'ancien
cookie qui portait le même nom (si il y en avait un), autrement il le créera
§ pour effacer un cookie, vous devez lancer un cookie qui aura le même nom que le cookie
que vous voulez effacer, tout en lui donnant une valeur nulle (vous pouvez également
l'envoyer avec un temps de vie dépassé)
Les sessions
17
Les Sessions
§ 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.
§ 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 (session.gc_maxlifetime)
Quand est ce qu’on utilise les sessions?
§ PHP introduit nativement une unique fonction permettant de démarrer ou de continuer une
session. Il s'agit de session_start().
§ Cette fonction ne prend pas de paramètre et renvoit toujours true. Elle vérifie l'état de la session
courante. Si elle est inexistante, alors le serveur la crée sinon il la poursuit.
<?php
session_start();
?>
Note :
1. il faut appeler session_start() sur chaque page utilisant le système de session.
2. il faut appeler session_start() sur chacune de vos pages AVANT d'écrire votre code HTML
Les Sessions
<?php
session_start(); // Création de la session
$_SESSION['prenom'] = 'ILHAM'; // Sauvegarde de la variable
prenom dans la session
?>
Les Sessions
<?php
echo $_SESSION['prenom'];
?>
Les Sessions