Maison  >  Article  >  développement back-end  >  Comment définir le délai d'expiration des cookies php ?

Comment définir le délai d'expiration des cookies php ?

青灯夜游
青灯夜游original
2020-07-21 11:38:414298parcourir

Vous pouvez utiliser la fonction setcookie() en PHP pour définir le délai d'expiration des cookies. La syntaxe est « setcookie(name,value,expire,path,domain,secure) » ; le paramètre expire est utilisé pour spécifier la période de validité du cookie, c'est-à-dire l'horodatage d'expiration.

Comment définir le délai d'expiration des cookies php ?

La fonction setcookie() envoie un cookie HTTP au client.

Un cookie est une variable envoyée par le serveur au navigateur. Les cookies sont généralement de petits fichiers texte qu'un serveur intègre sur l'ordinateur d'un utilisateur. Ce cookie est envoyé chaque fois que le même ordinateur demande une page via un navigateur.

[Recommandation de tutoriel associée : "Tutoriel PHP"]

Le nom du cookie est automatiquement attribué à une variable du même nom. Par exemple, si le cookie envoyé est nommé « utilisateur », une variable nommée $user sera automatiquement créée contenant la valeur du cookie.

Le cookie doit être attribué avant que toute autre sortie ne soit envoyée au client.

En cas de succès, cette fonction renvoie VRAI. Renvoie FALSE en cas d'échec.

Syntaxe

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

Paramètres :

Paramètres Description th> th>
nom Obligatoire. Spécifie le nom du cookie.
valeur Obligatoire. Spécifie la valeur du cookie.
expire Facultatif. Spécifie le délai d'expiration du cookie.
参数 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的过期时间。

                    time()+3600*24*30 将设置 cookie 的过期时间为 30 天。如果这个参数没有设置,那么 cookie 将在 session 结束后(即浏览器关闭时)自动失效。

path 可选。规定 cookie 的服务器路径。

如果路径设置为 "/",那么 cookie 将在整个域名内有效.如果路径设置为 "/test/",那么 cookie 将在 test 目录下及其所有子目录下有效。默认的路径值是 cookie 所处的当前目录。

domain 可选。规定 cookie 的域名。

为了让 cookie 在 example.com 的所有子域名中有效,您需要把 cookie 的域名设置为 ".example.com"。当您把 cookie 的域名设置为 www.example.com 时,cookie 仅在 www 子域名中有效。

secure 可选。规定是否需要在安全的 HTTPS 连接来传输 cookie。如果 cookie 需要在安全的 HTTPS 连接下传输,则设置为 TRUE。默认是 FALSE。
              time()+3600*24*30 fixera le délai d'expiration du cookie à 30 jours. Si ce paramètre n'est pas défini, le cookie expirera automatiquement après la fin de la session (c'est-à-dire lorsque le navigateur est fermé).

chemin Facultatif. Spécifie le chemin du serveur pour les cookies. Si le chemin est défini sur "/", alors le cookie sera valide dans l'ensemble du nom de domaine. Si le chemin est défini sur "/test/", alors le cookie sera valide dans le répertoire de test et tous ses. sous-répertoires. La valeur du chemin par défaut est le répertoire actuel où se trouve le cookie.
domaine Facultatif. Spécifie le nom de domaine du cookie. Pour que le cookie soit valide dans tous les sous-domaines de example.com, vous devez définir le nom de domaine du cookie sur ".example.com". Lorsque vous définissez le nom de domaine du cookie sur www.example.com, le cookie n'est valide que dans le sous-domaine www.
sécurisé Facultatif. Spécifie si les cookies doivent être transmis via une connexion HTTPS sécurisée. Définissez sur TRUE si les cookies doivent être transmis via une connexion HTTPS sécurisée. La valeur par défaut est FALSE.

Définir le délai d'expiration du cookie

Définir le cookie pour qu'il expire après un jour

setcookie ("mycookie", "123", time()+3600*24);
/* http://www.manongjc.com/article/1258.html */
time() représente l'horodatage de l'heure actuelle, time()+3600*24 représente l'horodatage des prochaines 24 heures.

De même, configurez le cookie pour qu'il expire après un an

setcookie ("mycookie", "123", time()+3600*24*365);

Supprimez le cookie

En définissant la date d'expiration sur une date/heure dans le passé, Supprimer un cookie :
setcookie("username", "", time()-3600,"/amazon");
setcookie("lastlogin", "", time()-3600,"/amazon");
setcookie("userid", "", time()-3600,"/amazon");
Supprimer tous les cookies de la session en cours
foreach($_COOKIE as $key=>$val){
setcookie($key,"",time()-3600,"/amazon");

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