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] Perte du Header apres ajout d'un script


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Par défaut [FPDF] Perte du Header apres ajout d'un script
    Bonjour,

    Alors voila sur mon PDF, j'ai voulu ajouter le script alphapdf.php pour pouvoir mettre une image en filigrane sur mon document PDF.

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <?
    session_start();
    if (!isset($_SESSION['util']))
    {
        header ("location: ../loggin.php");    
    }
     
    set_time_limit(0);
     
    require_once("../includes/alphapdf.php");
     
    class PDF extends FPDF
    {
        //En-tête
        function Header()
        {   
            global $choixtitre;
            global $choixlogo;
     
            $this->SetTextColor(0 , 0 , 0);
            if ($choixlogo == 'FMP'){
                $this->Image('../images/logo1.jpg',8, 0,39); 
            }else{
                $this->Image('../images/logo2.png',16,0,23); 
            }
            $this->SetFont('BritannicBold','',16);
            $this->SetXY(95 , 0);
            $this->Cell(20,10,'NOTE DE FRAIS - '.$choixtitre,0,1,'C');
        }
    }
     
     
    $pdf = new AlphaPDF();
    $pdf->AddFont('BritannicBold','','britanic.php');
    $pdf->AliasNbPages();
    $pdf->SetAutoPageBreak(0);
     
    while ($db2ligPERS = $db2adm->fetch($db2resPERS)) {
        $pdf->AddPage();
     
        ...
        mon traitement
        ...
    }
     
     
    $pdf->Output();
    Mon traitement ce passe bien mais mon document apparait sans mon entête.
    Dans mon alphpdf.php j'ai bien mis mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    require('../fpdf/fpdf.php');
    J'ai dû oublier quelque chose mais je ne vois pas quoi.

    Merci a vous de bien vouloir aiguiller.

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Ta classe AlphaPDF hérite de FPDF ou de PDF ?
    Dans le premier cas elle n'utilisera pas la fonction header de ta classe PDF.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Par défaut
    ma classe aplhapdf.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    class AlphaPDF extends FPDF
    Comment hérité aussi de PDF pour utiliser mon header ?

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Il me semble qu'en PHP tu ne peux pas hériter de deux classes en même temps par contre tu peux faire en sorte que la classe AlphaPDF hérite de ta classe PDF à toi (qui elle même hérite de la classe FPDF)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class AlphaPDF extends PDF
    et il faut inclure la définition de ta classe dans AlphaPDF

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Par défaut
    héhé, j'avais essayer cette "héritage"
    mais il me génère une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Class 'PDF' not found in D:\www\gestag\includes\alphapdf.php on line 4
    Ma ligne 4 etant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    class AlphaPDF extends PDF

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    C'est normal parce que ta classe n'a pas accès a la définition de la classe PDF. Pour ca il faut que tu te crées un fichier pdf.php dans lequel tu mets seulement ta classe PDF. Apres il faut inclure pdf.php dans ton script actuel ainsi que dans alphapdf.php

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Par défaut
    Voici les modif effectuées pour que ca fonctionne.
    Dans mon script initial : (Modif en gras)

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?
    session_start();
    if (!isset($_SESSION['util']))
    {
        header ("location: ../loggin.php");    
    }
     
    set_time_limit(0);
     
    require_once("../includes/alphapdf.php");
     
    class PDF extends AlphaPDF
    {
        //En-tête
        function Header()
        {   
            global $choixtitre;
            global $choixlogo;
            
            $this->SetTextColor(0 , 0 , 0);
            if ($choixlogo == 'FMP'){
                $this->Image('../images/logo1.jpg',8, 0,39); 
            }else{
                $this->Image('../images/logo2.png',16,0,23); 
            }
            $this->SetFont('BritannicBold','',16);
            $this->SetXY(95 , 0);
            $this->Cell(20,10,'NOTE DE FRAIS - '.$choixtitre,0,1,'C');
        }
    }
     
     
    $pdf = new PDF();
    $pdf->AddFont('BritannicBold','','britanic.php');
    $pdf->AliasNbPages();
    $pdf->SetAutoPageBreak(0);
     
    while ($db2ligPERS = $db2adm->fetch($db2resPERS)) {
        $pdf->AddPage();
        
        ...
        mon traitement
        ...
    }
     
     
    $pdf->Output();
    Merci pour ton aide. Problème d'héritage tous ça !!

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

Discussions similaires

  1. [2012] Perte de performance après ajout de millions de lignes
    Par Ornitho76 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 12/09/2014, 08h36
  2. [JComboBox] Problème dans le PopMenu après ajout
    Par bidon dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 29/03/2005, 15h52
  3. Réponses: 6
    Dernier message: 10/07/2004, 12h19
  4. Kernel Panic après ajout d'une nouvelle partition
    Par GLDavid dans le forum Administration système
    Réponses: 6
    Dernier message: 25/06/2004, 16h47
  5. Perte du password après compactage avec Jet
    Par Le Lézard dans le forum Bases de données
    Réponses: 10
    Dernier message: 07/06/2004, 11h37

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