Académique Documents
Professionnel Documents
Culture Documents
Cookies et Sessions
2
Qu'est-ce qu'un cookie?
Un cookie est souvent utilisé pour identifier
un utilisateur.
Un cookie est un petit fichier que le serveur
embarque sur l'ordinateur de l'utilisateur.
4
Cookie : Exemples
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
.....
<?php
$expire=time()+60*60*24*30;
setcookie("user", "Alex Porter", $expire);
?>
<html>
.....
<?php
// Print a cookie
echo $_COOKIE["user"];
6
Cookie : exemple
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!<br>";
else
echo "Welcome guest!<br>";
?>
</body>
</html>
<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
8
Les Sessions PHP
Sessions PHP
Les sessions sont un moyen de sauvegarder et de modifier des
variables tout au cours de la visite d’un internaute sans qu’elles
ne soient visibles dans l’URL et quelque soient leurs types
(tableau, objet…).
10
Sessions PHP
Quelques fonctions :
session_start() : démarre une session (doit
apparaître avant la balise <HTML>)
session_destroy() : détruit les données de session
et ferme la session
session_register(‘’var’’) : enregistre la variable
$var dans la session en cours, attention, ne pas
mettre le signe $ (dollars) devant le nom de
variable
session_unregister(‘’var’’) : détruit la variable
$var de la session en cours
11
Sessions - ouverture
Une session doit obligatoirement démarrer
avant l’envoi de toute information chez le
client : donc pas d’affichage et pas d’envoi
de header.
12
Stocker une variable de session
La bonne façon de stocker et de récupérer des
variables de session est d'utiliser la variable
PHP $_SESSION :
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
13
<?php
session_start();
if(isset($_SESSION['views']))
unset($_SESSION['views']);
?>
14
Destruction d'une session
Pour supprimer des données de session, on peut
utiliser la fonction unset() ou
session_destroy().
<?php
session_destroy();
?>
15
Sessions
Sauvegarder des variables de type objet dans une session est la
méthode de sécurisation maximum des données : elles n’apparaîtront
pas dans l’URL et ne pourront pas être forcées par un passage
manuel d’arguments au script dans la barre d’adresse du navigateur.
16
Exemple : Authentification et sessions
Un formulaire demande l'identifiant et le mot de
passe
Ces informations sont vérifiées :
Si ce n'est pas bon
On redirige vers une page d'erreur ou on retourne au
formulaire
Si c'est bon
on crée une session avec session_start() et on crée un
paramètre sur le tableau associatif $_SESSION.
Par exemple : $_SESSION['valid_user'] = 1;
On redirige vers les pages de contenu
Sur les autres pages :
session_start()
Vérification de la variable $_SESSION['valid_user']
Pour la déconnexion : session_destroy()
17
18