Utiliser des cookies avec PHP

Stocker les informations sur les visiteurs du site Web avec des cookies

femme d

Mélanger les images - JGI/Jamie Grill/Brand X Pictures/Gettty Images





En tant que développeur de site Web, vous pouvez utiliser PHP pour définir des cookies contenant des informations sur les visiteurs de votre site Web. Biscuits stocker des informations sur un visiteur du site sur l'ordinateur du visiteur qui peuvent être consultées lors d'une nouvelle visite. Une utilisation courante des cookies consiste à stocker un jeton d'accès afin que l'utilisateur n'ait pas besoin de se connecter chaque fois qu'il visite votre site Web. Les cookies peuvent également stocker d'autres informations telles que le nom de l'utilisateur, la date de la dernière visite et le contenu du panier.

Bien que les cookies existent depuis des années et que la plupart des gens les aient activés, certains utilisateurs ne les acceptent pas à cause de problèmes de confidentialité ou les supprimer automatiquement à la fermeture de leur session de navigation. Parce que les cookies peuvent être supprimés par un utilisateur à tout moment et sont stockés dans un format texte brut , ne les utilisez pas pour stocker quoi que ce soit de sensible.



Comment définir un cookie en utilisant PHP

En PHP, le setcookie() fonction définit un cookie. Il est envoyé avec les autres en-têtes HTTP et transmis avant que le corps du HTML ne soit analysé.

Un cookie suit la syntaxe :



|__+_|

Nom ​ désigne le nom du cookie et valeur ​ décrit le contenu du cookie. Pour le setcookie() fonction, seul le Nom Le paramètre est obligatoire. Tous les autres paramètres sont facultatifs.

Exemple de cookie

​Pour définir un cookie nommé 'UserVisit' dans le navigateur du visiteur qui définit la valeur sur la date actuelle et définit en outre l'expiration sur 30 jours (2592000 = 60 secondes * 60 minutes * 24 heures * 30 jours), utilisez le code PHP suivant :

|__+_|

Les cookies doivent être envoyés avant que tout code HTML ne soit envoyé à la page ou ils ne fonctionnent pas, de sorte que le setcookie() fonction doit apparaître avant la étiquette.

Comment récupérer un cookie avec PHP

Pour récupérer un cookie de l'ordinateur de l'utilisateur lors de la prochaine visite, appelez-le avec le code suivant :



|__+_|

Ce code vérifie d'abord si le cookie existe. Si c'est le cas, il souhaite la bienvenue à l'utilisateur et annonce la dernière visite de l'utilisateur. Si l'utilisateur est nouveau, il imprime un message de bienvenue générique.

POINTE: Si vous appelez un cookie sur la même page que vous prévoyez d'en définir un, récupérez-le avant de l'écraser.



Comment détruire un cookie

Pour détruire un cookie, utilisez setcookie() à nouveau, mais définissez la date d'expiration dans le passé :

|__+_|

Paramètres facultatifs

En plus de évaluer et expirer, la setcookie() La fonction prend en charge plusieurs autres paramètres facultatifs :



  • Chemin ​ identifie le chemin du serveur du cookie. Si vous le définissez sur '/', le cookie sera disponible pour l'ensemble du domaine. Par défaut, le cookie fonctionne dans le répertoire dans lequel il est défini, mais vous pouvez le forcer à fonctionner dans d'autres répertoires en les spécifiant avec ce paramètre. Cette fonction fonctionne en cascade, de sorte que tous les sous-répertoires d'un répertoire spécifié auront également accès au cookie.
  • Domaine ​ ​identifie le domaine spécifique dans lequel le cookie fonctionne. Pour que le cookie fonctionne sur tous les sous-domaines, spécifiez explicitement le domaine de premier niveau (par exemple, 'sample.com'). Si vous définissez le domaine sur « www.sample.com », le cookie n'est disponible que dans le sous-domaine www.
  • Sécurisé ​ spécifie si le cookie doit être transmis via une connexion sécurisée. Si cette valeur est définie sur TRUE, le cookie sera défini uniquement pour les connexions HTTPS. La valeur par défaut est FALSE.
  • HTTP uniquement ​, lorsqu'il est défini sur TRUE, n'autorisera l'accès au cookie que par le protocole HTTP. Par défaut, la valeur est FALSE. L'avantage de définir le cookie sur TRUE est que les langages de script ne peuvent pas accéder au cookie.