====== 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]]