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

Bibliothèques et frameworks PHP Discussion :

[FPDF] Some data has already been output, mais où ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Points : 262
    Points
    262
    Par défaut [FPDF] Some data has already been output, mais où ?
    Bonjour, j'ai écrit un code afin de générer un fichier PDF avec la libraire FPDF.

    Et quand je veux lancer mon fichier pdf depuis un lien, il me dit ceci :
    FPDF error: Some data has already been output, can't send PDF file

    Sauf que j'ai enlevé tous les espaces qui se trouvaient dans mon code, et là je ne vois vraiment pas ce qui pourrait clocher, donc si vous avez une idée je suis preneuse !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    function cptpostPDF()
    {
    require('fpdf.php');
    class PDF extends FPDF
    {
    function Header()
    {
    //Titre
    $this->SetFont('Arial','',18);
    $this->Cell(0,6,'plop',0,1,'C');
    $this->Ln(10);
    //Imprime l'en-tête du tableau si nécessaire
    parent::Header();
    }
    }
    $marginLeft  = "20";
    $marginLeft2 = "60";
    $marginLeft3 = "120";
    $marginRight = "10";
    //création_d_un_nouveau_document_PDF
    $pdf=new PDF();
    $pdf->AliasNbPages();
    $pdf->SetAuthor("Moi");
    $pdf->SetCreator("Moi");
    $pdf->SetSubject("Comptes");
    $pdf->SetTitle("Comptes");
    $pdf->AddPage();
    $pdf->SetFillColor(220);
    //TITRE_PAGE
    $pdf->SetFont('Arial','B',14);
    $pdf->SetXY(100,25);
    $pdf->MultiCell(100,6,"COMPTES",0,'R');
    //affichage_du_PDF
    $pdf->Output();
    }
    ?>

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    ici peut-être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
     
    parent::Header();
    }
    }

  3. #3
    Membre actif Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Points : 262
    Points
    262
    Par défaut
    je viens de regarder, mais non, il n'y a pas d'espace ou quoi que ce soit :/

    en fait j'appelle ma fonction cptpostPDF() depuis un autre fichier où là il y a pas mal de données. Mais j'ai parcouru tout le fichier et enlevé les espaces pouvant trainer.

    Donc là je ne vois pas bien d'où ça peut venir. Ou alors est-ce le fait que je l'appelle depuis un autre fichier ?

    Voici le code sur l'autre fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function cptPDF()
    {
    	require("mod-cpt_PDF.php");
    	cptpostPDF();
    }

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    C'est pas très propre(y parais).

    Mais perso, quand j'avais le problème avec des fichier inclus, je rajoutais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ob_start();//première ligne de mon scripts
    et à la fin du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ob_end_clean();
    $pdf->Output();

  5. #5
    Membre actif Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Points : 262
    Points
    262
    Par défaut
    et ben non toujours pas :/ rien à faire !

    merci quand même pour les recherches et les solutions ^^

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    En fait, c'est pas très clair

    Tu as une fonction, qui appelle une autre fonction dans laquelle tu crées et instancie une classe. pas très net tout ça

  7. #7
    Membre actif Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Points : 262
    Points
    262
    Par défaut
    en fait j'ai tout une page avec pleins de fonctions différentes me permettant de faire une recherche, une modification, une suppression, et aussi une génération au format PDF. Et cette fonction là contient le code que j'ai montré ci-dessus ! Et mod-cptPDF.php contient elle, tout le code PDF. Donc quand j'appelle ma première fonction, ça lance la seconde.

  8. #8
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bon alors je viens d'exécuter ton code, il fonctionne très bien, j'ai bien un pdf avec inscrit dessus plop et compte.

    Donc cela veut dire que cela viens de ta fonction plus haute.

    as-tu tenté de ob_start(); dans tous les fichiers concerné?

  9. #9
    Membre actif Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Points : 262
    Points
    262
    Par défaut
    J'ai testé ce que tu dis mais ça n'a rien changé. Mais j'ai trouvé mon erreur. Du html était exécuté dans la page de lancement contenue dans mon url, ce qui ne pouvait donc pas fonctionner ! Je n'avais pas la bonne page de lancement (un start.php).

    Merci pour l'aide ^^ !

  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    De manière générale, il suffit habituellement de désactiver la sortie du PDF pour voir apparaître comme par magie la cause de l'erreur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FPDF] FPDF error: Some data has already been output, can't send PDF file
    Par jmnicolas dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/07/2010, 19h30
  2. Réponses: 1
    Dernier message: 01/03/2010, 16h36
  3. Réponses: 5
    Dernier message: 01/02/2010, 16h43
  4. [FPDF] FPDF error: Some data has already been output, can't send PDF file
    Par dolfy dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/10/2008, 15h37
  5. [phpToPDF] Erreur d'affichage:Some data has already been output, can't send PDF file
    Par agbere dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/08/2008, 08h19

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