Durée de vie des cookies en PHP
Vous savez déjà que les cookies doivent être écrits avec
la fonction setcookie :
<?php
setcookie('test', 'abcde');
?>
Cependant, ces cookies ne vivent pas longtemps - seulement
jusqu'à la fermeture du navigateur. Il est possible de prolonger la durée de vie
d'un cookie à l'aide du troisième paramètre,
qui accepte un instant précis au format
timestamp. Dès que cet instant
sera atteint - le cookie sera automatiquement supprimé
par le navigateur.
Cependant, il n'est pas très pratique de définir un moment précis d'expiration pour un cookie. Il serait plus pratique de définir un cookie, par exemple, pour une heure à partir de maintenant, ou pour un jour, ou pour un an.
C'est pourquoi le troisième paramètre est généralement écrit
comme ceci : l'instant actuel + N secondes.
L'instant actuel au format timestamp peut
être obtenu avec la fonction time.
Prenons comme exemple la définition d'un cookie pour une
heure. Puisqu'il y a 3600 secondes dans une heure,
ajoutons ce nombre à l'instant actuel :
<?php
setcookie('test', 'abcde', time() + 3600);
?>
Lors de la définition des cookies, on écrit généralement les secondes
sous cette forme : - c'est une heure, 60 * 60 - c'est un jour. Et ainsi de suite.
Ceci est fait pour que la personne lisant votre
code comprenne clairement pour quelle durée
le cookie est défini.
60
* 60 * 24
Prenons comme exemple la définition d'un cookie pour un jour :
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Définissez un cookie quelconque pour un mois.
Définissez un cookie quelconque pour un an.
Définissez un cookie quelconque pour 10 ans.