PHP supporte les cookies HTTP de manière transparente. Les cookies sont un mécanisme d'enregistrement d'informations sur le client, et de lecture de ces informations. Ce système permet d'identifier et de suivre les visiteurs. Vous pouvez envoyer un cookie avec la fonction setcookie() ou setrawcookie().
Créer un cookie en PHP est très simple. Il suffit d'utiliser la fonction setcookie. Cette fonction accepte plusieurs paramètres : $name, le nom du cookie.
Un cookie, c'est un petit fichier que l'on enregistre sur l'ordinateur du visiteur. Ce fichier contient du texte et permet de « retenir » des informations sur le visiteur.
Les cookies et les sessions contiennent des informations sur l'utilisateur, mais les cookies sont stockés côté client tandis que les sessions sont stockées côté serveur. Les cookies expirent après un certain temps tandis que les sessions se terminent lorsqu'un utilisateur ferme le navigateur.
La création d'un cookie repose sur l'envoi d'entêtes HTTP au navigateur du client au moyen de la fonction setcookie(). Cela sous-entend donc qu'il faudra l'appeller avant tout envoi de données au navigateur (print(), echo(), tag html, espace blanc...)
Présentation des cookies
Les cookies vont être stockés sur les ordinateurs de vos visiteurs. Ainsi, à tout moment, un utilisateur peut lui même supprimer les cookies de son ordinateur. De plus, les cookies vont toujours avoir une durée de vie limitée. On pourra définir la date d'expiration d'un cookie.
Les sessions sont un moyen simple de stocker des données individuelles pour chaque utilisateur en utilisant un identifiant de session unique. Elles peuvent être utilisées pour faire persister des informations entre plusieurs pages.
Quel que soit son nom, un cookie informatique contient des informations. Lorsque vous visitez un site web, celui-ci envoie le cookie à votre ordinateur. Votre ordinateur le stocke dans un fichier situé dans le navigateur web (pour vous aider à le trouver, ce fichier est souvent appelé « Cookies »).
Son nom vient d'ailleurs du néerlandais « koekje », qui se traduit par « biscuit ». Dans le second, cela fait référence aux fichiers qui sont stockés dans l'ordinateur par le navigateur web, comme Chrome, Firefox ou Edge.
Le cookie ou les cookies ainsi définis sont habituellement stockés par le navigateur, puis renvoyés lors des prochaines requêtes au même serveur, dans une entête HTTP Cookie (en-US).
Pour détruire complètement une session, l'identifiant de la session doit également être effacé. Si un cookie est utilisé pour propager l'identifiant de session (comportement par défaut), alors le cookie de session doit être effacé. La fonction setcookie() peut être utilisée pour cela.
$_SESSION en PHP est une variable qui permet de stocker des informations pour un utilisateur pendant la durée de sa visite sur le site. C'est une variable qui s'avère très utile mais qui est aussi source de problèmes avec notamment la fameuse erreur Cannot send session cookie - headers already sent.
Selon leurs durées de conservation :
En l'espèce, la durée de vie d'un cookie ne peut excéder 13 mois après son dépôt.
En informatique, un cookie (aussi appelé témoin) est défini par le protocole de communication HTTP comme étant une suite d'informations envoyée par un serveur HTTP à un client HTTP, que ce dernier retourne lors de chaque interrogation du même serveur HTTP.
Les cookies sont gérés par votre navigateur internet et l'utilisateur peut les lire en faisant un click droit sur la page web et “Inspecter le code”. Seul l'émetteur d'un cookie est susceptible de modifier les informations qui y sont contenues.
Définition d'un cookie
Un cookie est un fichier texte déposé sur votre ordinateur lors de la visite d'un site ou de la consultation d'une publicité. Il a pour but de collecter des informations relatives à votre navigation et de vous adresser des services adaptés à votre terminal (ordinateur, mobile ou tablette).
Ils ne stockent pas directement des données personnelles, mais sont basés sur l'identification unique de votre navigateur et de votre appareil Internet. Si vous n'autorisez pas ces cookies, votre publicité sera moins ciblée.
Un tableau peut être créé en utilisant la structure de langage array(). Il prend un nombre illimité de paramètres, chacun séparé par une virgule, sous la forme d'une paire key => value . La virgule après le dernier élément d'un tableau est optionnelle et peut ne pas être ajoutée.
Pour définir et récupérer les valeurs des variables de session, nous allons pouvoir utiliser la variable superglobale $_SESSION . Cette superglobale est un tableau associatif qui stocke les différentes variables de sessions avec leurs noms en index du tableau et leurs valeurs en valeurs du tableau.
Pour modifier la valeur d'un cookie, il faut faire appel à setcookie en conservant le même nom de cookie et en modifiant simplement sa valeur. setcookie('Prenom', 'Cristobal', $timestamp);