Maison  >  Article  >  développement back-end  >  Que faire si php setcookie échoue

Que faire si php setcookie échoue

藏色散人
藏色散人original
2021-09-25 09:36:263055parcourir

Solution au php setcookie invalide : 1. Activez les cookies dans le navigateur ; 2. Supprimez toute sortie d'en-tête HTTP avant setcookie(); 3. Utilisez setcookie() de php pour créer un cookie.

Que faire si php setcookie échoue

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

fonction php setcookie invalide ?

Récemment, lorsque j'écrivais un backend php pour un site Web, j'ai découvert que la fonction setcookie ne pouvait pas toujours définir les cookies normalement. Grâce à var_dump(), j'ai découvert que la valeur de retour de la fonction était fausse, ce qui signifiait évidemment cela. le paramètre a échoué. Après une recherche sur Google, j'ai découvert que l'échec de setcookie peut être dû à certaines raisons :

Le navigateur a désactivé les cookies. Pas besoin de vérifier, je suis sûr qu'il n'est pas désactivé.

Utiliser setcookie() de php pour créer des cookies est la même chose que session_start() pour ouvrir une session en php. Il ne peut y avoir de sortie d'en-tête HTTP avant setcookie(). J'ai vérifié le code et trouvé le code suivant

<p>var_dump($qOpenId);<br/>setcookie(&#39;qOpenId&#39;,$openid,time() + 30 * 24 * 3600,&#39;/&#39;);<br/></p>

commenté de manière décisive la ligne var_dump($OpenId), le test a réussi.

Personnellement, je pense que setcookie devrait définir directement le contenu dans l'en-tête http, donc il ne peut y avoir aucune sortie d'en-tête devant, pas var_dump, echo, etc.

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!

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