IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

éliminer warning par bufférisation sortie


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut éliminer warning par bufférisation sortie
    Bonjour,

    j'ai un fichier PHP qui provoque ce warning :
    Warning: Cannot modify header information - headers already sent by (output started at /homepages/20/d357470176/htdocs/fr/dossier1/test2.php:8) in /homepages/20/d357470176/htdocs/fr/dossier1/common.php on line 59
    Pour éliminer le warning, j'ai rajouté une bufférisation de la sortie dans "common.php" : (<?php ob_start();...contenu...ob_end_flush();?>) en pensant que ça éliminerait le warning, mais il n'en est rien ; que faudrait-il faire pour éliminer ce warning ? (sachant que si je mets la bufférisation de sortie dans test2.php, ça provoque une erreur 404 sur refresh de la page...)
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben... tu pourrais te contenter de corriger ton code pour qu'il n'envoie plus ce warning
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Oui...sauf que ce n'est pas mon code, car j'intègre un forum PHPBB et j'ai beau regarder le code, je n'ai pas vu de sorties, mais comme le code contient plein de includes qui contiennent eux-mêmes des includes, je n'ai pas envie de passer ma journée à chercher (et à râter l'important ). Donc comment t'y prendrais-tu dans ce cas ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Points : 67
    Points
    67
    Par défaut
    Enlêve les header(location) de tes pages, tu peux pas quand tu intégres phpBB à un site, à cause du session_start(). Ou vérifies que tu n'as pas 2 session_start() a cause des includes.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Justement, la ligne qui génère le warning contient ça : header('Location: ' . $url);. Que faudrait-il mettre à la place de cette redirection ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Points : 67
    Points
    67
    Par défaut
    C'est une ligne que tu as mis toi ou ça fait partie de phpBB ?

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Non, c'est du code phpBB (j'ai commenté la bufférisation de sortie que j'avais tenté)
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  8. #8
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Points : 67
    Points
    67
    Par défaut
    C'est dur à dire comme ça sans avoir les fichiers et le code de tes pages à toi. Mais je dirais que as du te tromper sur l'ordre d'include.
    SI je récapitule, tu as dossier1/index.php, dossier2/index.php, et /index.php.
    Dans index.php tu as:
    include dossier1/index.php
    include dossier2/index.php

    SI c'est bien ça,ou as tu as insérer les lignes concernant phpBB ? Je suppose que c'est pour avoir un formulaire d'identification, qui corresponde aux membres de ton forum ?

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Pas exactement, et en fait, j'avais renommé les fichiers pour faire comme le commanditaire, mais comme ça ne sert à rien :
    dossier1->forum et dossier2->phpBB
    et actuellement, dans "forum/index.php" une iframe : <iframe src="../phpbb/index.php" width="1130" height="1600" scrolling="yes"></iframe>. Et l'idée serait de mettre tout le code dans "forum/index.php" pour que le référencement puisse se faire sur les posts du forum.
    Et ce que j'ai fait je le disais hier soir à 22h46. Et je n'ai pas touché au code de phpBB, donc notamment, pas aux include.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  10. #10
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Points : 67
    Points
    67
    Par défaut
    Donc tu veux virer ce
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <iframe src="../phpbb/index.php" width="1130" height="1600" scrolling="yes"></iframe>

    Et mettre par exemple
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div style="width:1130;height:1600;overflow:auto;"><?php include("../phpbb/index.php"); ?></div>

    C'est bien ça ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Merci, avec ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div style="width:1130;height:1600;overflow:auto;"><?php include("../phpbb/index.php"); ?></div>
    La page produit ces:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Warning: include(./common.php) [function.include]: failed to open stream: No such file or directory in /homepages/20/d357470176/htdocs/ita/phpbb/index.php on line 20
     
    Warning: include() [function.include]: Failed opening './common.php' for inclusion (include_path='.:/usr/lib/php5') in /homepages/20/d357470176/htdocs/ita/phpbb/index.php on line 20
     
    Warning: include(./includes/functions_display.php) [function.include]: failed to open stream: No such file or directory in /homepages/20/d357470176/htdocs/ita/phpbb/index.php on line 21
     
    Warning: include() [function.include]: Failed opening './includes/functions_display.php' for inclusion (include_path='.:/usr/lib/php5') in /homepages/20/d357470176/htdocs/ita/phpbb/index.php on line 21
     
    Fatal error: Call to a member function session_begin() on a non-object in /homepages/20/d357470176/htdocs/ita/phpbb/index.php on line 24
    J'ai déjà testé

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Non, Matteo (flozza : pseudo=quoz15, prénom italien=Matteo) ; donc pour Matteo, il manquait dans le répertoire ita/forum justement le répertoire includes et le fichier "common.php" ; je les ai rajoutés et les warnings ont disparu, par contre, il en reste un que je n'arrive pas à supprimer :
    Warning: Cannot modify header information - headers already sent by (output started at /homepages/20/d357470176/htdocs/fr/forum/index.php:8) in /homepages/20/d357470176/htdocs/fr/forum/common.php on line 59
    et cette ligne 59 est : header('Location: ' . $url); ; donc flozza, si tu as une idée...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 16
    Points
    16
    Par défaut


    Merci Laurent

    J'ai une idée mais sur qui ça ne servira à rien.

    Le warning indique que n'est pas possible modifier la header? Et la page s'affiche également meme si le menu doit etre à dessus la bannière.

    ça fa de l'inversion.

    Ne passe pas par là le code à modifier?

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Matteo, le "header" évoqué ici n'a rien à voir avec l'en-tête de ta page : c'est un header HTTP et ça ne fait pas partie du code (du moins, il me semble)
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    le "header" évoqué ici n'a rien à voir avec l'en-tête de ta page : c'est un header HTTP et ça ne fait pas partie du code (du moins, il me semble)
    En effect je ne disait pas l'en-tt de la page mais le menu qui dans les autres pages si trouve au dessus la bannière et dans la page du "warning" passe au dessous. Ca l'inversion.
    Bon, ça ne changera rien mais dans le cas qui tu n'as pas aperçu, je l'ai écrit car certain fois passe pour des petit détail la solution...

    Je me trompe encore, mais la ligne 59 c'est une ligne pour la rédirection des langues ou pas?

  16. #16
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Je me trompe encore, mais la ligne 59 c'est une ligne pour la rédirection des langues ou pas?
    Tu te trompes certainement , vu qu'il n'y a pas de choix de la langue : dans phpBB, tu as créé 3 sous-forums (ita, fr et en).
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  17. #17
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Points : 67
    Points
    67
    Par défaut
    Bon alors comment ça se présente au final ?

    Que contient forum/index.php dans sa totalité?

    Comment est affiché forum/index.php => Directement, ou il est inclu par une page parent ?

    Quel problème persiste ?

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Bon alors comment ça se présente au final ?
    Mais le problème persite...

  19. #19
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Le problème qui persiste est celui que je mentionnais à 17h31 et ce que je voudrais faire est exactement ce que tu décrivais à 14h17.
    La partie utile de forum/index.php est justement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ...<p style="text-align:justify"><div style="width:1130;height:1600;overflow:auto;"><?php include("../phpbb/index.php"); ?></div> 
    </p>...
    Le reste étant en gros la partie head, le bandeau, le menu, l'en-tête et le pied de page et ce fichier est affiché directement, mais le problème se situe, d'après moi, dans phpbb/index.php (donc du code importé), puisque je viens, pour voir, de créer test.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title></title>
    </head>
    <body>
    <p style="text-align:justify"><div style="width:1130;height:1600;overflow:auto;"><?php include("../phpbb/index.php"); ?></div> 
    </p>
    </body>
    </html>
    avec lequel on a le même warning...(mais on ne l'a pas (encore heureux), si on appelle directement http://www.telepamedia.com/ita/phpbb/index.php)
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  20. #20
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2011
    Messages : 70
    Points : 67
    Points
    67
    Par défaut
    Le problème c'est que dans index.php à la ligne 8 tu as quelque chose qui embete le header(location) de common.php, si je lis l'erreur.
    Qu'est ce qu'il y a aux lignes 7, 8 et 9 de forum/index.php ?

    Et pour savoir, pourquoi vouloir inclure le forum dans une autre page, qui apparemment est vide?...

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/06/2008, 16h45
  2. Sortie en plusieurs pdf découpés par chapitres
    Par Konrad Florczak dans le forum Mise en forme
    Réponses: 7
    Dernier message: 27/07/2006, 14h38
  3. [struct]warnings à éliminer
    Par GLDavid dans le forum C++
    Réponses: 3
    Dernier message: 09/03/2006, 12h18
  4. problème élimination de donnée par plusieur requête
    Par ghan77 dans le forum Bases de données
    Réponses: 8
    Dernier message: 23/01/2006, 16h47
  5. [C#] Détecter sortie forme par la fenêtre
    Par joujoukinder dans le forum Windows Forms
    Réponses: 11
    Dernier message: 05/08/2005, 19h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo