par
Sékiltoyai » 23 juil. 2008, 15:36
J'ai effectivement virer cette ligne
<link rel=stylesheet href="../includes/style_home.css">
et maintenant cela passe!!!! miracle. COmme j'y connais rien, a quoi correspond cette phrase et surtout pourquoi sur mon pc cela marchait sans problème alors que mon nas me la détecté?
Alors pourquoi est ce que cela ne fonctionnait pas sur le serveur, je t'ai déjà donné la réponse, elle est dans la doc aussi, à savoir que si tu envoies quoique ce soit au navigateur avant le header(), tu as une erreur, car les headers doivent être envoyés avant le moindre contenu. Dans ton cas tu as affiché <link rel=stylesheet href="../includes/style_home.css"> (tout ce qui est hors des balises <?php ?> est envoyé tel quel au navigateur) donc tu as envoyé du contenu au navigateur avant la fonction header, donc, conformément à ce que j'ai dit avant, PHP te mets une erreur pour te signaler qu'il a déjà envoyé les headers.
Ensuite, pourquoi est ce que cela fonctionnait en local, je pense que ton phpinfo t'indiquerait que l'output_buffering est activé, ce qui te fournit un tampon, tant que ce buffer n'est pas plein, aucun contenu n'est envoyé au navigateur, donc les headers non plus. On peut donc considérer que même si tu as affiché du texte sur ta page, il n'a pas encore nécessairement été envoyé, donc cela explique que tu n'as pas eu d'erreur en local.
Vérifie la valeur de l'output_buffering si tu veux entériner mon hypothèse.
[quote="criket"]J'ai effectivement virer cette ligne
[php]<link rel=stylesheet href="../includes/style_home.css">[/php]
et maintenant cela passe!!!! miracle. COmme j'y connais rien, a quoi correspond cette phrase et surtout pourquoi sur mon pc cela marchait sans problème alors que mon nas me la détecté?
[/quote]
Alors pourquoi est ce que cela ne fonctionnait pas sur le serveur, je t'ai déjà donné la réponse, elle est dans la doc aussi, à savoir que si tu envoies quoique ce soit au navigateur avant le header(), tu as une erreur, car les headers doivent être envoyés avant le moindre contenu. Dans ton cas tu as affiché <link rel=stylesheet href="../includes/style_home.css"> (tout ce qui est hors des balises <?php ?> est envoyé tel quel au navigateur) donc tu as envoyé du contenu au navigateur avant la fonction header, donc, conformément à ce que j'ai dit avant, PHP te mets une erreur pour te signaler qu'il a déjà envoyé les headers.
Ensuite, pourquoi est ce que cela fonctionnait en local, je pense que ton phpinfo t'indiquerait que l'output_buffering est activé, ce qui te fournit un tampon, tant que ce buffer n'est pas plein, aucun contenu n'est envoyé au navigateur, donc les headers non plus. On peut donc considérer que même si tu as affiché du texte sur ta page, il n'a pas encore nécessairement été envoyé, donc cela explique que tu n'as pas eu d'erreur en local.
Vérifie la valeur de l'output_buffering si tu veux entériner mon hypothèse.