Cannot add header information

1 message   •   Page 1 sur 1
Mammouth du PHP | 1885 Messages

08 févr. 2005, 04:42

Cette erreur se rencontre lors de l’utilisation des sessions, des cookies ou de l'envoi d'en-tête avec header().
Ces fonctions sont un peu spéciales puisqu'elles permettent l'envoi d'en-tête au navigateur (ie. cookie, redirection, etc.)

Spécifications
Ces fonctions exigent de votre part, que le flux de sortie n'aie pas commencé. En d'autre termes qu'aucun texte ne soit envoyé avant leur utilisation. Veillez donc à ne rien envoyer avant ces fonctions. Que ce soit:
  • Du code HTML
  • Du texte
  • Des espaces
  • Un retour de ligne
Il vous faut donc commencer votre script directement par la balise PHP (<?php ou <?) S’il vous arrive de rencontrer cette erreur, vérifiez donc qu'aucun texte n'ait été envoyé au navigateur avant votre fonction.

Localisation de la source de l'erreur

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started at xxx:yy) in zzz on line aa
Voici comment comprendre le message d'erreur:
  • Du texte ou code HTML a déjà été envoyé au navigateur à partir du fichier xxx à la ligne yy.
  • La fonction qui a tenté d'envoyer les en-têtes se trouve dans le fichier zzz à la ligne aa.

EasyPHP

Il existe une différence (concernant les entêtes) entre EasyPHP 1.6 et EasyPHP 1.7.

:arrow: EasyPHP 1.7 active une buffarisation de sortie. C'est à dire qu'elle conserve toute sortie vers le client jusqu'à concurence d'une certaine taille. Or, cela a pour effet qu'aucun texte n'est envoyé vers le client et ce, même si vous faites un echo ou insérer du code HTML. En utilisant header, aucune erreur ne sera générée à cause de cette option. Cependant, cette possiblité est à utiliser avec précaution car ce n'est pas tous les serveurs qui activent la buffarisation de sortie.

:arrow: EasyPHP 1.6, quant à lui, n'utilise pas cette option. Donc voilà pourquoi vous avez une erreur concernant l'utilisation de header après envoi de contenu, contrairement à EasyPHP 1.7.

1 message   •   Page 1 sur 1