Maitriser PHP

Cookies PHP : créer, lire, supprimer + erreur headers

01 mars 2026 | 4 min de lecture
Retour aux maitriser php
Les cookies PHP permettent de mémoriser un utilisateur, stocker une préférence (langue, thème), gérer un panier ou suivre un identifiant. Mais une mauvaise utilisation de setcookie() provoque rapidement l’erreur classique Cannot modify header information – headers already sent. Dans ce guide complet, vous allez comprendre le fonctionnement interne des cookies HTTP, voir les exemples modernes (PHP 8+), éviter les pièges classiques et appliquer les bonnes pratiques de sécurité.










1) Comment fonctionnent les cookies PHP


Un cookie PHP est une donnée envoyée par le serveur dans les en-têtes HTTP. Le navigateur la stocke puis la renvoie automatiquement lors des prochaines requêtes vers le même domaine.

Techniquement, setcookie() ajoute une ligne Set-Cookie dans la réponse HTTP. Le navigateur enregistre cette valeur et l’enverra ensuite dans l’en-tête Cookie.
Important : les cookies sont envoyés dans les headers HTTP. Dès qu’un contenu HTML est affiché, les headers sont verrouillés.


6) Corriger l’erreur headers already sent


L’erreur headers already sent PHP signifie qu’un contenu a été envoyé avant l’appel à setcookie().

Mauvais exemple :


[php]echo « Bonjour »;
setcookie(« test », « 1 »);[/php]
Erreur : l’affichage bloque l’envoi des headers HTTP.

Bonne pratique :


[php]setcookie(« test », « 1 »);
echo « Bonjour »;[/php]

Autres causes fréquentes



  • Espace avant <?php

  • BOM UTF-8 invisible

  • Fichier inclus affichant du HTML



7) Sécurité et bonnes pratiques



  • Ne jamais stocker un mot de passe en cookie

  • Activer httponly

  • Activer secure en HTTPS

  • Configurer samesite=Lax ou Strict


Info : pour l’authentification sécurisée, privilégiez les sessions PHP.


8) Erreurs fréquentes



  • Modifier un cookie après affichage

  • Oublier isset()

  • Confondre cookie et session



Questions fréquentes


Quelle est la taille maximale d’un cookie ?


Environ 4 Ko par cookie selon les navigateurs.

Cookie PHP ou session PHP ?


Le cookie est côté client. La session est côté serveur.

Pourquoi mon cookie ne fonctionne pas ?


La cause la plus fréquente est un affichage avant setcookie().

Comment vérifier qu’un cookie existe ?


Avec isset($_COOKIE["nom"]).


Conclusion


Les cookies PHP sont simples mais exigent une gestion stricte des headers HTTP. En respectant l’ordre d’exécution et les bonnes pratiques de sécurité, vous éviterez l’erreur headers already sent et garantirez un fonctionnement fiable.


Pour aller plus loin :

  • Sessions PHP sécurisées

  • Authentification login en PHP

  • Protection CSRF



Laravel AI SDK : Créer des Outils de Base de Données Fiables et Prêts pour la Production pour Agents

Dans l’univers du développement web, l’intégration fluide de l’intelligence artificielle (IA) dans les bases de données constitue un enjeu majeur en 2026. Avec la sortie du Laravel AI SDK, l’un des frameworks PHP les plus reconnus, les développeurs disposent d’un…

Laravel AI SDK, Boost ou MCP : Quel outil choisir pour vos besoins ?

En 2026, l’intelligence artificielle s’est intégrée profondément au développement web, bouleversant la manière dont les développeurs interagissent avec les frameworks PHP comme Laravel. Face à cette évolution, Laravel propose trois outils distincts mais complémentaires pour intégrer l’IA dans vos projets…

Laravel Cloud API et CLI : Accélérez vos déploiements et automatisez vos workflows

Laravel révolutionne une nouvelle fois son écosystème avec la sortie généralisée de Laravel Cloud API et CLI, des outils destinés à transformer la manière dont les équipes développent, déploient et gèrent leurs applications. En 2026, ces nouveautés poussent plus loin…

Laravel MCP : Le Guide Complet pour Maîtriser le Framework

Dans l’univers du développement web, le framework PHP Laravel continue d’évoluer pour répondre aux besoins croissants des développeurs et des entreprises. En 2026, Laravel MCP se présente comme une avancée majeure, offrant une nouvelle façon d’intégrer les capacités d’intelligence artificielle…