Maison  >  Article  >  développement back-end  >  Comment créer des cookies en php

Comment créer des cookies en php

伊谢尔伦
伊谢尔伦original
2017-04-24 15:35:375074parcourir

La création de cookies est très simple. Tant que le navigateur de l'utilisateur prend en charge la fonction Cookie, vous pouvez utiliser la fonction intégrée de PHP pour créer un nouveau cookie. Les cookies sont créés en PHP via la fonction setcookie() . Ce que vous devez comprendre avant de créer des cookies, c'est que les cookies font partie des en-têtes HTTP et que les en-têtes doivent être envoyés avant le reste du contenu de la page, ils doivent donc être affichés en premier. Ainsi, même s'il s'agit d'un espace ou d'une ligne vide, ne l'affichez pas avant d'appeler la fonction setcookie(). Si une balise HTML, une instruction echo ou même une ligne vide est affichée avant la fonction setcookie(), une erreur de programme se produira.

La syntaxe est la suivante :

 setcookie(name,value,expire,path,domain,secure)

La fonction setcookie() définit un Cookie qui est envoyé avec le reste des en-têtes HTTP. Tous ses paramètres correspondent à l'en-tête HTTP. Propriétés des cookies. Bien que la fonction setcookie() semble avoir beaucoup de paramètres importés, à l'exception du nom du paramètre, d'autres paramètres ne sont pas nécessaires et nous n'utilisons souvent que trois paramètres : $name, $value et $expire.

La description du paramètre de la fonction setcookie() est la suivante :

1) nom

Le nom de la variable cookie

peut être appelé via $_COOKIE[ "cookiename"] Le nom de la variable est Cookie

2) valeur

La valeur de la variable Cookie Cette valeur est enregistrée sur le client et ne peut pas être utilisée pour enregistrer des données sensibles

<.>Il peut être transmis via $_COOKIE[ "values"] Obtenez la valeur nommée valeurs

3) expire

Délai d'expiration du cookie, expire est un horodatage UNIX standard, vous pouvez utiliser le Fonction

time() Ou obtenez-le via la fonction mktime(), en secondes

Si le délai d'expiration du cookie n'est pas défini, le cookie sera valide pour toujours sauf s'il est supprimé manuellement

4) chemin

Chemin valide du cookie côté serveur

Si ce paramètre est défini sur "/", il est valide dans toute la domaine. S'il est défini sur "/11", il s'agit de /11 sous le domaine Valide dans les répertoires et sous-répertoires. La valeur par défaut est le répertoire actuel

5) domaine

Nom de domaine valide du cookie

Si vous souhaitez que le cookie soit valide dans tous les sous-domaines sous le nom de domaine abc.com, il doit être défini sur abc .com

6) secure

Indique si le cookie passe le HTTPS sécurisé, la valeur est 0 ou 1

Si la valeur est 1, le le cookie ne peut être valide que sur les connexions HTTPS ; si la valeur est la valeur par défaut de 0, le cookie est valide sur les connexions HTTP et HTTPS.

S'il n'y a que $name comme paramètre, l'option de cookie d'origine portant ce nom sera supprimée. Vous pouvez également utiliser une chaîne vide pour omettre ce paramètre. Les paramètres $expire et $secure sont un entier et peuvent être omis en utilisant 0 au lieu d'utiliser la chaîne vide. Mais le paramètre $expire est un entier temporel UNIX normal, renvoyé par la fonction time() ou mktime(). Le paramètre $secure indique que ce cookie sera envoyé uniquement via une connexion HTTPS sécurisée.

Utiliser tous les paramètres de la fonction setcookie(). L'exemple de code s'affiche comme suit

<?php
  setcookie("username","sky",time()+60*60,"/test",".php.cn",1);
?>
Remarque : L'exemple ci-dessus signifie créer un cookie avec le nom d'identification "nom d'utilisateur". et sa valeur de contenu est la chaîne "sky", et la période de validité de stockage sur le client est de 1 heure. Le paramètre "/test" indique que le cookie n'est valable que dans ce ou ces sous-répertoires de l'ancienne arme. Le paramètre ".php.cn" permet au cookie d'être valide dans tous les sous-domaines sous le nom de domaine php.cn. Bien que le "." ne soit pas obligatoire, son ajout le rendra compatible avec davantage de navigateurs. Lorsque le dernier paramètre est mis à 1, le cookie ne peut être déposé que sur une connexion sécurisée.

La valeur donnée à l'aide de setcookie() ne peut être qu'un nombre ou une chaîne, pas d'autres structures complexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn