Maison >développement back-end >tutoriel php >Pourquoi $_COOKIE ne reflète-t-il pas immédiatement `setcookie()` et comment puis-je y accéder instantanément ?
Accès à la valeur du cookie après l'invocation de setcookie()
Lorsque vous tentez d'accéder à la valeur d'un cookie à l'aide de $_COOKIE immédiatement après avoir appelé setcookie() fonction, il peut sembler que $_COOKIE['uname'] n'est pas défini. Cela se produit car les cookies ne sont pas immédiatement disponibles après avoir été définis.
La raison en est que le cookie n'est pas défini tant que la réponse n'est pas renvoyée au client. PHP n'a pas accès au cookie jusqu'à ce que la prochaine demande soit faite par le client.
Accès immédiat au cookie
Pour contourner ce problème, vous pouvez définir manuellement la valeur du cookie dans $_COOKIE après avoir appelé setcookie(). Cela vous permet d'accéder immédiatement à la valeur du cookie dans le même script :
setcookie('uname', $uname, time() + 60 * 30); $_COOKIE['uname'] = $uname;
En définissant le cookie à la fois dans le navigateur et manuellement dans $_COOKIE, vous pouvez accéder à sa valeur rapidement après l'avoir défini à l'aide de setcookie(). .
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!