15- Les cookies

Les cookies sont de petits fichiers stockés sur l’ordinateur du client par son navigateur. Il est possible en PHP de créer des cookies, d’y stocker des informations, et de les envoyer chez le client pour qu’il les conserve (s’il le souhaite). Pour envoyer un cookie au client via le protocole HTTP, il suffit d’utiliser la fonction setcookie().

Cette fonction est définie de la manière suivante :

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

Les cookies envoyés par la fonction setcookie sont stockés dans la variable superglobale $_COOKIE[ ]. Pour accéder à un cookie envoyé sur le navigateur d’un client, il suffit de mettre en clé du tableau $_COOKIE le nom, premier argument de la fonction setcookie.

La variable expire correspond au temps après lequel le cookie sera supprimé par le navigateur. On peut lire dans la documentation que c'est un timestamp Unix, donc, ce sera un nombre de secondes depuis l'époque Unix (1 Janvier 1970). En d'autres termes, vous devriez fixer cette valeur à l'aide de la fonction time() en y ajoutant le nombre de secondes après lequel on veut que le cookie expire. Vous pouvez utiliser aussi mktime(). time()+60*60*24*30 fera expirer le cookie dans 30 jours.

Si ce paramètre n’est pas renseigné, le cookie sera supprimé à la fin de la session (quand le navigateur sera fermé)

Les cookies peuvent servir à stocker des informations sur le navigateur de la personne qui s’est déjà connecté à votre site. Par exemple, pour éviter qu’une personne ne doive s’authentifier à chaque fois qu’elle vient sur votre site, vous pouvez stocker un cookie dans son navigateur avec un token qui lui est propre (et éventuellement son login) et la connecter automatiquement si elle possède le cookie sur son ordinateur au moment où elle arrive sur votre site. Vous pouvez également stocker des choix de mise en page ou layout (par exemple si elle peut choisir la couleur du site), la dernière page où elle est venue pour la faire revenir au dernier endroit où elle était etc.. Cela est infini et peut servir à tant de choses que beaucoup de sites abusent de l’utilisation des cookies. N’oubliez-pas d’avertir les utilisateurs que vous utilisez les cookies pour être conforme à la loi RGPD.

https://www.cnil.fr/fr/principes-cles/rgpd-se-preparer-en-6-etapes