Cookie PHP
Les cookies sont souvent utilisés pour identifier les utilisateurs.
Que sont les cookies ?
Les cookies sont souvent utilisés pour identifier les utilisateurs. Un cookie est un petit fichier qu'un serveur dépose sur l'ordinateur d'un utilisateur. Chaque fois que le même ordinateur demande une page via le navigateur, le cookie sera envoyé à l'ordinateur. Avec PHP, vous pouvez créer et récupérer des valeurs de cookies.
Comment créer des cookies ?
La fonction setcookie() est utilisée pour paramétrer les cookies.
Remarque : la fonction setcookie() doit être située avant la balise <html>
Syntaxe
setcookie(name, value, expire, path, domain);
Exemple 1
Dans l'exemple suivant, nous allons créer un cookie nommé "user" , et attribuez-lui la valeur "php". Nous précisons également que ce cookie expire au bout d'une heure :
<?php setcookie("user", "php", time()+3600); ?> <html> .....
Remarque : La valeur du cookie est automatiquement modifiée lors de l'envoi du cookie. Encodage URL, décodé automatiquement lors de la récupération. (Pour empêcher le codage d'URL, utilisez plutôt setrawcookie().)
Exemple 2
Vous pouvez également définir le délai d'expiration du cookie d'une autre manière. Cela peut être plus simple que d'utiliser les secondes.
<?php $expire=time()+60*60*24*30; setcookie("user", "php", $expire); ?> <html> .....Dans l'exemple ci-dessus, le délai d'expiration est fixé à un mois (60 secondes * 60 minutes * 24 heures * 30 jours ).
Comment récupérer la valeur du Cookie ?
La variable $_COOKIE de PHP est utilisée pour récupérer la valeur du cookie.
Dans l'exemple suivant, nous récupérons la valeur du cookie nommé "user" et l'affichons sur la page :
<?php // 输出 cookie 值 echo $_COOKIE["user"]; // 查看所有 cookie print_r($_COOKIE); ?>Dans l'exemple suivant, nous utilisons la fonction isset() pour confirmer si le cookie a bien été déposé :
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php if (isset($_COOKIE["user"])) echo "欢迎 " . $_COOKIE["user"] . "!<br>"; else echo "普通访客!<br>"; ?> </body> </html>
Comment supprimer les cookies ?
Lors de la suppression d'un cookie, vous devez modifier la date d'expiration à une date antérieure.
Instance supprimée :
<?php // 设置 cookie 过期时间为过去 1 小时 setcookie("user", "", time()-3600); ?>
Que faire si le navigateur ne prend pas en charge les cookies ?
Si votre application doit gérer des navigateurs qui ne prennent pas en charge les cookies, vous devrez alors utiliser d'autres méthodes pour transmettre des informations entre les pages de votre application. Une solution consiste à transmettre des données via un formulaire (les formulaires et la saisie utilisateur sont traités dans les chapitres précédents de ce didacticiel).
Le formulaire suivant soumet la saisie de l'utilisateur à "welcome.php" lorsque l'utilisateur clique sur le bouton "Soumettre" :
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="welcome.php" method="post"> 名字: <input type="text" name="name"> 年龄: <input type="text" name="age"> <input type="submit"> </form> </body> </html>récupère la valeur du fichier "welcome.php", comme suit :
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> 欢迎 <?php echo $_POST["name"]; ?>.<br> 你 <?php echo $_POST["age"]; ?> 岁了。 </body> </html>