Comment afficher le contenu de FPDF par dreamweaver

Résolu
modemo2018 Messages postés 254 Statut Membre -  
modemo2018 Messages postés 254 Statut Membre -
Bonjour, je suis debutant avec FPDF, j'ai conçu un petit code, le voici:

<?php
include("connexion.php");
require('fpdf.php'); 
// En-tête
function Header()
{
// Police Arial gras 15
    $this->SetFont('Arial','B',15);
    // Décalage à droite
    $this->Cell(80);
    // Titre
    $this->Cell(30,10,'Titre',1,0,'C');
    // Saut de ligne
    $this->Ln(20);
}
$pdf = new FPDF('L','cm,','A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B',12);
$pdf->Cell(40,10,'Hello World !');
$pdf->Cell(60,10,'Powered by FPDF.',0,1,'C');
$pdf->Output();
?>



J'ai inserer le dossier pdf-php sur mon serveur Mamp, dans le but de permettre que mon contenu PDF soit, afficher( voilà pourquoi j'ai mis include("connexion.php");) le problème est que lorsque je lance mon fichier index.php depuis MAMP, mon index ne s'affiche pas, le navigateur m'écrit:

"Cette page ne fonctionne pasImpossible de traiter cette demande via localhost à l'heure actuelle.
HTTP ERROR 500"

pourtant j'ai bien configurer mon serveur, quelqu'un peut-il m'aider? comment faire pour faire afficher le contenu de ma page index? ya t-il un procédé pour FPDF où c'est le même procédé pour tout site en PHP configurer sous dreamwear?

7 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Une erreur 500 indique un souci sur le code côté serveur.

    Commence par activer l'affichage des erreurs php
    https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

    Remplace ton "include" et ton "require" par des require_once

    Dans ton code tu utilises des $this->
    ... mais ça ne fait référence à rien... tu sembles avoir copier/coller la fonction Header .. d'on on ne sait où.... mais vu que tu ne l'utilises pas... tu peux la retirer de ton code.

    0
  2. modemo2018 Messages postés 254 Statut Membre 2
     
    Oui, c'est du copie/coller car je suis entrain d'apprendre FPDF, j'ai modifié selon vos propositions voici le code :

    
    <?php
    require_once("connexion.php");
    //début de ton fichier php .... ça veut dire .. DEBUT !!!:
    error_reporting ( E_ALL );
    ini_set ( 'display_errors', TRUE );
    ini_set ( 'display_startup_errors', TRUE );
    
    require_once('fpdf.php'); 
    // En-tête
    function Header()
    {
        $this->SetFont('Arial','B',15);
        // Décalage à droite
        $this->Cell(80);
        $this->Cell(30,10,'Titre',1,0,'C');
        // Saut de ligne
        $this->Ln(20);
    }
    $pdf = new FPDF('L','cm,','A4');
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',12);
    $pdf->Cell(40,10,'Hello World !');
    $pdf->Cell(60,10,'Powered by FPDF.',0,1,'C');
    $pdf->Output();
    ?>
    


    Mais j'ai toujours le même resultat, même erreur
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Qu'est-ce que tu ne comprends pas dans le commentaire où il est indiqué début de ton code PHP ?
      c'est donc à placer au tout début de ton code et donc ton require doit être après...

      je t'ai également parlé de ta fonction header le dollar ce qui est à l'intérieur ne peut pas fonctionner... Retire ta fonction et d'heure de ton code et teste à nouveau
      0
  3. modemo2018 Messages postés 254 Statut Membre 2
     
    Bonjour, (Je signale que je suis un vrai debutant avec FPDF) j'essaie d'appliqué tes consignes, voici le code:

    
    <?php
    //début de ton fichier php .... ça veut dire .. DEBUT !!!:
    error_reporting ( E_ALL );
    ini_set ( 'display_errors', TRUE );
    ini_set ( 'display_startup_errors', TRUE );
    require_once("connexion.php");
    require_once('fpdf.php'); 
    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',16);
    $pdf->Cell(40,10,'Hello World !');
    $pdf->Output();
    ?>
    


    quand j'éxécute le navigateur me signale une erreur au au niveau du fichier fpdf.php
    voici l'erreur qui m'est signalé:

    " Fatal error: Uncaught Exception: FPDF error: Some data has already been output, can't send PDF file in /Applications/MAMP/htdocs/pdf-php/fpdf.php:271 Stack trace: #0 /Applications/MAMP/htdocs/pdf-php/fpdf.php(1063): FPDF->Error('Some data has a...') #1 /Applications/MAMP/htdocs/pdf-php/fpdf.php(999): FPDF->_checkoutput() #2 /Applications/MAMP/htdocs/pdf-php/index.php(12): FPDF->Output() #3 {main} thrown in /Applications/MAMP/htdocs/pdf-php/fpdf.php on line 271"

    voici la ligne 271 du code du fichier fpdf:

     function Error($msg)
    {
    	// Fatal error
    	throw new Exception('FPDF error: '.$msg);
    }


    fpdf c'est le fichier qui vient avec le dossier fpdf, je n'arrive pas à comprendre comment il peut contenir une erreur et je ne comprend pas cette erreur, quelqu'un peut-il m'aider
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      moi j'essaierais
      $pdf->Output('D','test.pdf');

      que contient connexion.php?
      as-tu essayé hors de dreamweaver?
      0
  4. modemo2018 Messages postés 254 Statut Membre 2
     
    Fichier connexion contient le code PHP de la connexion à la base de donnée

    C'est quoi le fichier test.pdf?

    comment puis-je essayé hors dreamweaver?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      tu n'utilises pas de base de données, il n'est donc pas utile de faire appel à connexion.php.
      test.pdf n'est pas un fichier, c'est juste un nom envoyé au navigateur.
      je suggère, pour tester, de replacer la ligne 13 par la ligne que je propose.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Le message d'erreur
    FPDF error: Some data has already been output

    indique simplement que tu as déjà envoyer des données au navigateur .....

    Peux tu nous montrer l' INTEGRALITE de ton fichier ?
    N'y a tu pas mis du code html avant ton code php ? (si oui.. faut le retirer )

    Peux tu également t'assurer que ton fichier est bien encodé en utf8 sans bom
    Voir chapitre 1 de ce lien :
    https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
    0
  7. modemo2018 Messages postés 254 Statut Membre 2
     
    Non, pas du tout, je n'ai pas mis de code html dans mon code php, le voici:

    <?php
    //début de ton fichier php .... ça veut dire .. DEBUT !!!:
    error_reporting ( E_ALL );
    ini_set ( 'display_errors', TRUE );
    ini_set ( 'display_startup_errors', TRUE );
    require_once("connexion.php");
    require_once('fpdf.php'); 
    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',16);
    $pdf->Cell(40,10,'Hello World !');
    $pdf->Output();
    ?>
    
    
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Et que contient ton fichier require_once("connexion.php"); ?

      Et comme tu le dis yg_be, vu que pour l'instant tu n'utilises pas ta bdd, tu peux retirer cette ligne le temps de tes tests.

      Tu n'as pas non-plus répondu à ma question concernant l'encodage de ton fichier.
      Merci de nous fournir une capture écran de la vérification.
      0
  8. modemo2018 Messages postés 254 Statut Membre 2
     
    j'ai enlévé le require_once("connexion.php");, et ça à marché enfin, merci beaucoup pour l'aide
    0