⊗ppPmCkLT 328 of 447 menu

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 : 60 * 60 - c'est une heure, 60 * 60 * 24 - 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.

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.

nlbyfruzcuz