A voir également:
- Cannot modify header information (DnCounter)
- Information d'identification réseau - Guide
- Nous restons à votre disposition pour tout complément d'information - Forum Bureautique
- L'en-tête du document comporte une information qui n’apparaît pas à l'impression car elle est de couleur blanche. de quelle information s'agit-il ? ✓ - Forum LibreOffice / OpenOffice
- Bad pool header ✓ - Forum Windows 7
- Lcfc debug page information - Forum BIOS
2 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
26 sept. 2009 à 19:55
26 sept. 2009 à 19:55
Bonjour,
Commençons du début :)
Quand un client demande une page web à un serveur, le serveur renvoie des données. Celles-ci sont réparties de deux façons : le "header" http, et le corps du message.
Le header http comporte des informations diverses nécessaires à la bonne communication entre les parties : url de la page, données diverses (y compris mise en place de cookies, type de document)... Comme son nom l'indique, le header est envoyé en premier. Dans le corps du message, il y a tout le code HTML.
Donc, du côté du serveur php, quand on lui demande d'envoyer un élément du corps de la page, il est obligé d'envoyé d'abord le header.
C'est pourquoi à ta ligne 138, au moment où tu fais le echo, PHP n'effectue pas une mais deux actions :
1 - Il envoie le header, qui est nécessaire pour pouvoir envoyer le début de ta page ;
2 - Il envoie ce que tu lui demandes ("<html>...").
Par ailleurs, certaines fonction PHP agissent sur le header. C'est le cas de la mise en place d'une session, qui utilise un cookie, ou, plus évidemment, de la fonction header() qui modifie directement les informations envoyées au client dans le header http.
Que se passe-t-il donc quand le serveur php atteint ta ligne 52 ? Il veut modifier le header, mais comme il l'a déjà envoyé au client, ce n'est plus possible ! D'où l'erreur.
Une fois ceci bien compris, comment résoudre ton problème ?
Tu l'as deviné, il y a deux solutions évidentes :
- Soit placer l'inclusion de func.inc avant ta ligne echo ;
- Soit différer l'envoi des informations de la page, par exemple en ne faisant pas "echo" mais en faisant $html = "<html><body>...", puis, après ton include(func.inc), mettre echo $html.
Voilà, j'espère que je t'ai bien aidé !
Xavier
PS : c'est quand même mauvais signe pour toi qu'il essaie d'atteindre cette ligne 52, puisque manifestement elle correspond à une erreur fatale...
Commençons du début :)
Quand un client demande une page web à un serveur, le serveur renvoie des données. Celles-ci sont réparties de deux façons : le "header" http, et le corps du message.
Le header http comporte des informations diverses nécessaires à la bonne communication entre les parties : url de la page, données diverses (y compris mise en place de cookies, type de document)... Comme son nom l'indique, le header est envoyé en premier. Dans le corps du message, il y a tout le code HTML.
Donc, du côté du serveur php, quand on lui demande d'envoyer un élément du corps de la page, il est obligé d'envoyé d'abord le header.
C'est pourquoi à ta ligne 138, au moment où tu fais le echo, PHP n'effectue pas une mais deux actions :
1 - Il envoie le header, qui est nécessaire pour pouvoir envoyer le début de ta page ;
2 - Il envoie ce que tu lui demandes ("<html>...").
Par ailleurs, certaines fonction PHP agissent sur le header. C'est le cas de la mise en place d'une session, qui utilise un cookie, ou, plus évidemment, de la fonction header() qui modifie directement les informations envoyées au client dans le header http.
Que se passe-t-il donc quand le serveur php atteint ta ligne 52 ? Il veut modifier le header, mais comme il l'a déjà envoyé au client, ce n'est plus possible ! D'où l'erreur.
Une fois ceci bien compris, comment résoudre ton problème ?
Tu l'as deviné, il y a deux solutions évidentes :
- Soit placer l'inclusion de func.inc avant ta ligne echo ;
- Soit différer l'envoi des informations de la page, par exemple en ne faisant pas "echo" mais en faisant $html = "<html><body>...", puis, après ton include(func.inc), mettre echo $html.
Voilà, j'espère que je t'ai bien aidé !
Xavier
PS : c'est quand même mauvais signe pour toi qu'il essaie d'atteindre cette ligne 52, puisque manifestement elle correspond à une erreur fatale...