Maison > Article > développement back-end > Que faire si php setcookie échoue
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.
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('qOpenId',$openid,time() + 30 * 24 * 3600,'/');<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!