Maison > développement back-end > Problème PHP > Comment résoudre le problème selon lequel le cookie php ne peut pas obtenir la valeur

Comment résoudre le problème selon lequel le cookie php ne peut pas obtenir la valeur

藏色散人
Libérer: 2023-03-09 16:10:01
original
2154 Les gens l'ont consulté

Solution au problème selon lequel le cookie php ne peut pas obtenir la valeur : 1. Définissez "setcookie('a','value')" ; 2. Exécutez "$_COOKIE['a']$_COOKIE['a '] "; 3. Demandez simplement au serveur de renvoyer les informations.

Comment résoudre le problème selon lequel le cookie php ne peut pas obtenir la valeur

L'environnement d'exploitation de cet article : système Windows7, version php5.5.12, ordinateur DELL G3

Comment gérer le problème que php impossible d'obtenir des cookies pour la première fois

Écrivez d'abord le code simple suivant :

Le code est le suivant :

<?php 
    setcookie(&#39;a&#39;,&#39;value&#39;);
    print $_COOKIE[&#39;a&#39;];
Copier après la connexion

La première fois que vous visitez, une erreur est signalé :

La raison de l'erreur La valeur de $_COOKIE['a'] n'existe pas. Deuxième visite :

Question : Pourquoi n'y a-t-il pas de cookie lors de la première visite ? ? Ne devrais-je pas le régler d'abord, puis l'obtenir ? ?

A : Utilisez le firebug de Firefox pour afficher "Réseau" :

Client :

Vous pouvez voir que le navigateur (client) fait une requête au serveur. Lors de la requête, divers paramètres sont inclus dans les informations d'en-tête de la requête, indiquant au serveur quel type de texte (Accepter), quel format de codage (Accepter-Encodage) et quelle langue je souhaite recevoir (Accepter -Langue), etc., bien entendu, le Cookie est également transmis au serveur (Cookie).

Côté serveur :

Première étape : setcookie('a','value')

Étant donné que le cookie est défini sur le client, la fonction setcookie elle-même ne peut pas définir le cookie , il ne peut indiquer au navigateur que via les informations d'en-tête : Frère, je veux définir un cookie, la clé est a, la valeur est valeur, vous pouvez m'aider à le configurer chez vous. Vous pouvez aussi le comprendre comme : "Viens, je suis heureux aujourd'hui et je vais te donner un cookie."

Deuxième étape : $_COOKIE['a']$_COOKIE['a']

C'est très simple L'opération consiste à rechercher la clé dans la chaîne de cookie apportée par le navigateur. . le cookie de a et renvoie sa valeur.

Evidemment, ce cookie avec la "clé a" est introuvable, car lorsque le client accède au serveur, ce cookie n'existe pas du tout, et l'étape précédente Le les informations d'en-tête du cookie n'ont pas encore été renvoyées au client (php ne reviendra pas au client tant que l'instruction n'est pas exécutée de haut en bas)

Étape 3 : Le serveur renvoie les informations

Parmi eux, les informations d'en-tête renvoyées contiennent "Set-Cookie a=value". Le navigateur reçoit ces informations d'en-tête et stocke le cookie dans un fichier sur l'ordinateur. L'emplacement de stockage du cookie semble être différent selon les navigateurs. ce n’est pas le cas.


Lorsque vous actualisez le navigateur et accédez à nouveau au serveur, de nombreuses informations d'en-tête seront également envoyées au serveur, mais cette fois dans le cookie, là est une valeur a = de plus. Ainsi, $_COOKIE['a'] peut naturellement trouver la valeur du cookie avec la clé a de la chaîne du cookie.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal