====== Les erreurs Headers already sent by ... ======
Tous webmasters débutants a rencontré dans sa vie de programmeur PHP, l'erreur ''Headers already sent by ...'' . Ce genre d'erreur est courant, voici quelques conseils pour les éviter.
===== Qu'est ce qui provoque cette erreur ? =====
Cette erreur ce produit lorsqu'une fonction **PHP** qui manipule les [[divers:code-http|en-têtes HTTP]] est envoyé au navigateur du client après le début de l'envoi du contenu de la page **HTML**.
===== Quelles sont les fonctions PHP qui génèrent cette erreur ? =====
Toutes les fonctions manipulant les [[divers:code-http|en-têtes HTTP]] sont susceptibles de provoquer ce type d'erreur. Les plus courantes sont :
* header()
* setcookie()
* session_start()
===== Comment éviter ce genre d'erreur =====
Les erreurs **Headers already sent by ... ** sont donc provoquées par l'envoi du flux destiné a l'affichage de la page web du visiteur par le serveur. Les commandes //print//, //echo//, ... sont les premiers incriminées, elles doivent être utilisées après les commandes manipulant les [[divers:code-http|en-têtes HTTP]].
Ensuite une erreur courante et qui passe souvent inaperçue est l'affichage d'espace.
L'exemple ci-dessous va générer une erreur **Headers already sent by ... **, je précise que le code est sans erreur et a première vue la commande //echo// et après la commande //session_start()//.
Code du fichier //index.php// :
Et le code du fichier //constante.php// :
Le premier script va mettre en session le contenu de la constante BONJOUR puis va l'afficher à l'écran. Pour connaitre le contenu de la constante BONJOUR, le script va aller lire le contenu du script //constante.php//.
L'erreur **Headers already sent by ... ** est provoquée par l'espace se situant après le ?> dans le fichier //constante.php//.
Donc assurez vous toujours qu'il n'y a pas d'espace après le ?> a la fin de vos fichiers ou le mieux est de supprimer tous les ?> en fin de fichier.
===== Notes de version =====
* [27/12/2015] : Article initial
===== Auteurs et sources =====
* Auteur : [[:user:montuy337513]]
===== Navigation =====
* [[:accueil|Accueil]]
* [[:gestion-site-internet]]
* [[:tutoriel-javascript]]
* [[:tutoriel-html]]
* [[:tutoriel-php-mysql]]
* [[:tutoriel-referencement-seo]]