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 :

FPDF - utilisation de Header


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de alain78
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Par défaut FPDF - utilisation de Header
    Bonjour,

    J'ai 2 soucis liés à la fabrication de fichiers PDF avec FPDF. J'ai cherché et n'ai pas trouvé.
    Pourtant je suis persuadé que mes soucis ne sont pas incontournables.

    Voici donc.

    CONTEXTE

    J'ai une table Mysql qui comporte plusieurs enregistrements (univers). Chaque univers a un nom et une partie descriptive.
    Je souhaite créer un fichier PDF que l'utilisateur pourra ouvrir ou enregistrer selon son souhait.Le fichier est simple puisqu'il comporte
    une entête (header), un corps de texte et un pied de page (footer). Dans l'entête est mentionné le nom de l'univers.
    Je souhaite pouvoir enchainer la création des fichiers sachant qu'il a un fichier par univers.


    STRUCTURE DE MES SCRIPTS

    1er script : (fichier PHP n°1)

    1 l'utilisateur sélectionne les univers pour lesquels il veut un fichier. La sélection est récupérée dans le tableau $ref_univers.

    2 lecture du tableau et pour chaque valeur du tableau via un foreach ($ref_univers) , appel à une fonction existante (description_univers_impression($ref_univers)) dans un autre fichier qui est bien sur inclus (include) en début de script.


    2ème script: la fonction description_univers_impression($ref_univers); (fichier PHP n°2)

    1 récupération du nom de l'univers ($nom_univers) à partir de sa référence ($ref_univers) via une requête SQL.

    2 définition du header (qui n'est pas décrite dans FPDF) par une extension de la classe PDF de FPDF . Dans cette définition il y a intégration du nom de l'univers après avoir déclaré en tête du header qu'il s'agit d'une variable GLOBAL

    3 - fabrication du fichier + enregistrement temporaire du fichier sur disque

    4 - proposition à l'utilisateur d'ouvrir ou d'enregistrer le fichier avec $pdf->Output($fichier);

    5 - destruction du fichier sur disque unlink($fichier)

    MES 2 SOUCIS

    1 - Le header ne reprend pas le nom de l'univers qui lui est passé via la variable:
    ??? Cela est-il du au fait que l'extension de la classe FPDF pour déclarer le header est (elle même une fonction) incluse dans ma fonction appelée (script 2).

    2 - la boucle foreach du script n°1 n'est appelée qu'une seule fois même lorsqu'il y a plusieurs valeurs à lire dans le tableau . Il n'y a pas de retour sur le script 1 après appel de la fonction du script n°2.

    ??? Cela est-il du à une 'interruption' liée au point 4 du script n°2 ? Pourtant l'utilisateur ouvre le fichier qui est parfaitement correct sauf le header mais lorsqu'il le referme, il n'y a pas retour au script n°1.

    Je précise que tout fonctionne bien sauf le header et le retour au script n°1. La valeur nom_univers existe bien juste avant le passage à la fonction header.

    Merci pour vos conseils au débutant FPDF que je suis.

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    3 - fabrication du fichier + enregistrement temporaire du fichier sur disque

    4 - proposition à l'utilisateur d'ouvrir ou d'enregistrer le fichier avec $pdf->Output($fichier);

    5 - destruction du fichier sur disque unlink($fichier)
    Est ce que cela est bien utile ?
    FPDF offre plusieurs façon de mettre en sortie le flux du Pdf.
    Entre autre, de générer le PDF "à la volée", tout est géré par le système (l'OS), c'est à dire que, une fois le flux du PDF est envoyé vers le client, le fichier n'existe plus.
    Grosso modo, ces 3 étapes sont faites sans avoir strictement rien à faire.

    Output
    string Output([string name, string dest])

    * I : envoyer en inline au navigateur. Le plug-in est utilisé s'il est installé. Le nom indiqué dans name est utilisé lorsque l'on sélectionne "Enregistrer sous" sur le lien générant le PDF.
    * D : envoyer au navigateur en forçant le téléchargement, avec le nom indiqué dans name.
    * F : sauver dans un fichier local, avec le nom indiqué dans name (peut inclure un répertoire).
    * S : renvoyer le document sous forme de chaîne. name est ignoré.
    C'est en choisissant I (2ème paramètre) qui permet ça, c'est la valeur par défaut d'ailleurs.


    Pour tes autres soucis, il faudrait mettre du code, parce que là, je n'ai pas vraiment compris.

    Parviens tu déjà à avoir une document PDF, ne serait ce qu'avec un simple "Hello Wold" ? (sans rien d'autre).


    Aussi, comme apparemment tu as des données qui sont reçues en paramètres via un formulaire, le problème qu'il y a, c'est que le document PDF ne fait théoriquement pas partie de la page qui la reçois, mais une autre page dédiée uniquement au PDF.
    Souvent c'est une <iframe> ou alors un <object>, il faut alors transmettre les paramètres au iframe ou object.
    Peut être est ce lié à ça ?

  3. #3
    Membre confirmé Avatar de alain78
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Par défaut Quelques précisions
    Merci RunCodePHP

    Voici quelques précisions

    1 - non prise en compte de la valeur de la variable dans le Header

    J'ai constaté que si je passe la valeur par le biais d'une variable de SESSION, cela fonctionne !!
    Mais cela m'oblige à détruire cette variable de session tout de suite après, ce qui n'est pas très beau.
    Précision : bien sur j'ai retrouvé le même problème avec Footer.

    Les valeurs initiales sont dans les variables $nom_univers et $msg_detail_univers

    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
     
    $_SESSION['nom_univers']=$nom_univers;
    $_SESSION['msg_univers']=$msg_detail_univers;
     
    class PDF extends FPDF
    {
    //En-tête
    function Header()
    {
        //Logo
        $this->Image($_SESSION['logo'],10,10,30);
        //Police Arial gras 15
        $this->SetFont('Arial','B',10);
        //Couleur
        $this->SetTextColor(0,0,153); // bleu
        //Titre
        $this->Cell(0,5,$_SESSION['msg_univers'],0,1,'R');
     
        //Couleur
        $this->SetTextColor(0,0,0); // bleu
     
        // nom de l'univers
        $this->Cell(0,7,$_SESSION['nom_univers'],0,1,'R');
        // ligne largeur de page
        $this->Cell(190,2,'','B',1,'C'); 
        //Saut de ligne
        $this->Ln(5);
     
    }
    }

    2 - suppression du fichier

    J'utilise bien OUPUT .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pdf->Output($fichier);
    Mais, après l'action de l'utilisateur (ouverture du fichier PDF via son navigateur)
    j'ai constaté que le fichier PDF est systématiquement enregistré sur le serveur, ce que je ne veux pas.
    Donc je détruit le fichier


    3 - Fabrication de plusieurs fichiers PDF

    J'ai 2 tableaux :
    - $Univers_Array qui contient les noms et références des univers
    - $Impression_Array qui contient le type d'impression que choisi l'utilisateur

    Dans le code ci dessous, l'utilisateur a choisi 357 (la description de l'univers)
    Il peut demander l'impression de plusieurs univers. Cela doit générer UN fichier PDF PAR univers.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	// pour chaque univers choisi
            foreach($Univers_Array as $ref_univers){
     
    	    // pour chaque impression choisie
                foreach($Impression_Array as $ref_impression){
     
                    if ($ref_impression==357){ // description d'un univers
                        description_univers_impression($ref_univers);
                    }
                }
    	}
    La fonction description_univers_impression() comporte
    - la récupération via des requêtes SQL de valeurs diverses (dictionnaire de langue...etc.)
    - le paramétrage des fonctions Header et Footer de FPDF avec les petits problèmes déjà évoqués
    - la création de deux fonctions TitreChapitre() et CorpsChapitre(). Ces 2 fonctions marchent correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    //----------------------------------------------------------- NOTES DE L UNIVERS
    $pdf->TitreChapitre($msg_notes);
    $pdf->CorpsChapitre($notes_univers);
    //-------------------------------------------------------------- CREATION DU PDF
    $pdf->Output($fichier);
    //----------------------- proposition a l'utilisateur de traiter le fichier cree
    ouvre_pdf($fichier);
    //-------------------------------------------- suppression du fichier temporaire
    unlink($fichier);
    unset($_SESSION['msg_univers']);
    unset($_SESSION['nom_univers']);
    unset($_SESSION['msg_page']);
    La fonction ouvre_pdf() est définie dans un autre fichier intégré via un appel INCLUDE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function ouvre_pdf($fichier) {
       header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($fichier));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($fichier));
        ob_clean();
        flush();
        readfile($fichier);
    }
    Ce que je voudrais c'est :

    1 - le foreach appelle la fonction description_univers_impression($ref_univers) en lui passant
    la valeur du premier univers

    2 - la fonction description_univers_impression($ref_univers)
    - fabrique le fichier PDF
    - propose (via le navigateur utilisateur) à l'utilisateur l'ouverture ou l'enregistrement du fichier PDF
    - retourne dans la boucle foreach pour récupérer s'il y a la référence d'un nouvel univers

    3 - retour au point 1 tant que foreach n'es pas terminé.

    Le programme fonctionne bien pour les points 1 et 2 ci dessus et n'exécute pas le point 3.

    Voilà le problème.
    Avez vous quelque(s) piste(s) ?


  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    J'ai constaté que si je passe la valeur par le biais d'une variable de SESSION, cela fonctionne !!
    C'est le paramètre en GET (ou POST) n'est pas reçu.
    Avant même de commencer quoi que ce soit, il aurait fallut résoudre se problème.
    Comme je te l'ai dit, normalement le fichier qui contient le code qui génère le PDF n'est pas le même que celui qui reçoit les paramètre GET (ou POST).
    Il faut qu'au niveau de la page (ou fichier) qui reçois ces paramètre les retransmettre à celui qui génère la PDF.

    Le principe est quasi le même que pour une image dynamique avec GD, je ne sais pas si tu connais.

    Je te donne un exemple de mon coté, légèrement différent car au bout il n'y a pas de téléchargement, mais le PDF est intégrer dans dans une autre page Web.

    Page article_pdf.php
    Code html : 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
     
    <html>
    <head>
        <title>article 123</title>
    </head>
     
    <body>
    <h1>bla bla bla<h1>
     
    <p>Le document PDF ci-dessous :</p>
     
        <object data="doc_pdf.php?ref=123" type="application/pdf">
            alt : <a href="doc_pdf.php?ref=123">Document PDF</a>
        </object>
     
    </body>
    </html>
    Comme tu peux voir, le paramètre "ref" est ajouté au lien pointant vers doc_pdf.php.
    Ca se peut que dans ton cas, les données GET (ou POST) sont reçues comme ici dans article_pdf, mais pas doc_pdf.php.


    Puis doc_pdf.php (qui est intégrée dans article_pdf.php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    $reference = $_GET['ref'];
     
    $pdf = new MyPDF('article_'.$reference, $reference, 'I');
    header('Content-type: application/pdf; charset='.CHARSET);
     
    echo $pdf->genereDoc();
    ?>
    On récupère le paramètre "ref" transmis précédemment.
    Je n'ai mis que l'essentiel, mais la classe MyPDF est une classe dérivée de PDF, et les 3 paramètres sont les suivants :
    1/ 'article_'.$reference : Le document aura comme nom article_123 si l'utilisateur souhaite l'enregistrer.

    2/ $reference : Ca c'est perso, c'est pour récupérer les données d'un article en particulier.

    3/ I : C'est pour la sortie, methode PDF::output(), est comme c'est I alors le flux du PDF sera renvoyé directement vers le navigateur.
    En aucun cas le fichier est déposé dans mon espace disque, ce qui fait qu'il n'y pas besoin de supprimer quoi que ce soit sur le serveur.



    Ton cas est différent, car tu souhaiter que le document soit a télécharger.
    Mais normalement il n'est pas nécessaire de générer le PDF dans ton espace disque pour ensuite le lire et générer le flux et enfin le supprimer.
    La classe PDF permet de le faire, il faut juste rajouter en 2ème paramètres à la méthode PDF::output('nom.pdf', 'D') le bon type en sortie.
    Il y a plusieurs choix (I, D, F ou S), c'est ce que j'ai mis dans le post précédent.


    Je te conseils d'ailleurs de générer "à la volée" le PDF au lieu de le proposer en téléchargement.
    C'est plus simple car on voit tout de suite s'il y a erreur ou pas.
    Commence par un banal "Hello Wold", fait simple de façon à visualiser dans le navigateur le document.
    Après, résout le problème du paramètre pour éviter les sessions.
    En dernier le contenu du PDF.


    2 - la fonction description_univers_impression($ref_univers)
    - fabrique le fichier PDF
    - propose (via le navigateur utilisateur) à l'utilisateur l'ouverture ou l'enregistrement du fichier PDF
    - retourne dans la boucle foreach pour récupérer s'il y a la référence d'un nouvel univers

    3 - retour au point 1 tant que foreach n'es pas terminé.
    Ce déroulement me parais bizarre.
    Normalement, quand on génère un PDF, il faut avoir toutes les infos, ou disons qu'on doit pouvoir tout récupérer (requête SQL par ex.).

    On ne peux pas commencer à créer le document, ensuite interroger l'utilisateur pour ensuite terminer le document.
    Ca c'est pas possible.
    Où alors j'ai mal compris.

  5. #5
    Membre confirmé Avatar de alain78
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Par défaut suite des précisions
    Merci pour ton intérêt.

    Citation Envoyé par RunCodePhp Voir le message
    C'est le paramètre en GET (ou POST) n'est pas reçu.
    Si le paramètre est bien reçu, j'ai vérifié avec une fonction personnelle de debug.

    Voici la structure (ce n'est pas du code)

    fichier 1
    appel à la fonction avec la valeur reçu du formulaire utilisateur
    description_univers_impression($_POST['ref_univers'])

    fichier 2

    la fonction description_univers_impression($ref_univers)
    est dans ce fichier et elle reçoit la valeur que lui a passé le fichier 1

    Si je passe cette valeur (qui existe à cet endroit, j'ai vérifié) à Header dans l'extension de la classe FPDF, cela ne fonctionne pas (avec ou sans déclaration de la variable en global.

    J'ai simplifié le code de Header pour l'illustration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class PDF extends FPDF
    {
    function Header()
    {
    global $ref_univers ;
        $this->Cell(0,5,$ref_univers,0,1,'R');
    }
    }
    Si je passe par une variable SESSION, cela fonctionne !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    $_SESSION['ref_univers']=$ref_univers;
    class PDF extends FPDF
    {
    function Header()
    {
        $this->Cell(0,5,$_SESSION['ref_univers'],0,1,'R');
    }
    }


    Citation Envoyé par RunCodePhp Voir le message
    La classe PDF permet de le faire, il faut juste rajouter en 2ème paramètres à la méthode PDF::output('nom.pdf', 'D') le bon type en sortie.
    Il y a plusieurs choix (I, D, F ou S), c'est ce que j'ai mis dans le post précédent.
    Désolé mais dans mon script, output ne fonctionne pas si je l'utilise seul
    J'ai essayé chaque paramètre, aucun ne fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pdf->Output($fichier);

    Citation Envoyé par RunCodePhp Voir le message
    Je te conseils d'ailleurs de générer "à la volée" le PDF au lieu de le proposer en téléchargement.
    Je veux que mon utilisateur n'ai pas d'autre choix que de l'ouvrir ou le télécharger.
    Je ne comprend pas : de générer "à la volée" le PDF

    Citation Envoyé par RunCodePhp Voir le message
    Commence par un banal "Hello Wold", fait simple de façon à visualiser dans le navigateur le document.
    Bien sur j'ai commencé par le "Hello Word" et cela a très bien fonctionné. Puis j'ai fait un script plus complexe qui fonctionne bien.

    Citation Envoyé par RunCodePhp Voir le message
    On ne peux pas commencer à créer le document, ensuite interroger l'utilisateur pour ensuite terminer le document.
    Ca c'est pas possible.
    Où alors j'ai mal compris.
    Non, en fait je veux fabriquer plusieurs documents différents (un par univers)

    foreach lisant un tableau avec n élément (fichier 1)
    envoi de l'élément n°1 à la fonction qui fabrique le PDF 1 (fichier 2)
    retour à foreach pour recommencer avec l'élément n°2 (fichier 1)
    envoi de l'élément n°2 à la fonction qui fabrique le PDF 2 (fichier 2)
    retour à foreach pour recommencer avec l'élément n°3 (fichier 1)
    .... et ainsi de suite jusqu'à l'élément n

    Il n'y a dans mon cas que la fabrication de l'univers n°1 et pas des autres.

    Passionnant ce problème et je pense qu'il y a forcément une solution.

    A suivre.

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Si le paramètre est bien reçu, j'ai vérifié avec une fonction personnelle de debug.
    Et bien si tu reçois bien c paramètre, et apparemment en POST, et bien exploite la avec $_POST, car $_POST est une super globale tout comme $_SESSION, sa portée est justement globale.
    Ce qui veut dire qu'il n'est pas utile de la "passer" en argument dans la fonction description_univers_impression($_POST['ref_univers']) par exemple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function description_univers_impression() {
        $ref = $_POST['ref_univers'];
        ... etc ...
    }
     
     
    // Aussi
    class PDF extends FPDF {
        function Header() {
            $ref = $_POST['ref_univers'];
            $this->Cell(0,5,$ref,0,1,'R');
        }
    }
    Désolé mais dans mon script, output ne fonctionne pas si je l'utilise seul
    J'ai essayé chaque paramètre, aucun ne fonctionne.
    As tu bien saisi que les I, D, F ou S était à renseigner en 2ème arguments ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $pdf->Output($fichier, 'I');
     
    // Ou
    $pdf->Output($fichier, 'D');
     
    // Ou
    $pdf->Output($fichier, 'F');
     
    // Ou
    $pdf->Output($fichier, 'S');
     
    // Selon ce qu'on souhaite obtenir en sortie

    Non, en fait je veux fabriquer plusieurs documents différents (un par univers)
    Comment ça, plusieurs documents ?
    Plusieurs PDF ?
    Ou plusieurs pages que contiendra le (l'unique) PDF ?

    A ma connaissance (donc sauf erreur), il n'est pas possible d'envoyer plusieurs PDF d'un coup.
    Il faudrait théoriquement recharger la page autant de fois qu'il y aura de documents PDF à générer (à proposer).
    Ce qui sous entend qui ne faudrait pas boucler sur les Univers, mais les faire 1 par 1.

    Si tel est le cas, pourquoi ne pas proposer plusieurs pages (donc 1 seul PDF) avec les différents Univers par exemple ?


    Je ne comprend pas : de générer "à la volée" le PDF
    C'est ce que j'explique depuis le début, c'est à dire que le flux du document PDF est envoyé en sortie (vers le navigateur) sans pour autant que le fichier soit créé.
    Le visiteur (navigateur) reçois le flux, affiche le PDF, le visiteur le visualise dans son navigateur (mais au fond le document n'existe pas).
    Mais comme un PDF réclame un plugin Adobe Reader (comme Flash entre autre), le plugin donne la possibilité d'enregistrer le document.

    C'est la cas si on renseigne I comme 2ème argument du output, soit :
    * I : envoyer en inline au navigateur. Le plug-in est utilisé s'il est installé. Le nom indiqué dans name est utilisé lorsque l'on sélectionne "Enregistrer sous" sur le lien générant le PDF.
    Le plus simple c'est de faire un essai comme celui que j'ai donné, c'est à dire une page Web intégrant une 2ème page, cette 2ème page contient le PDF.

  7. #7
    Membre confirmé Avatar de alain78
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Par défaut On progresse, on progresse
    Bien, bien.

    Tout d'abord, effectivement je retiens la solution de fabriquer un seul PDF qui contiendra les descriptions des univers choisis plutôt que de fabriquer un PDF par univers. Au reste, c'est peut être plus pratique pour l'utilisateur.

    J'ai donc passé mon tableau ($_POST['variable']) en argument de la fonction.

    Mais il me reste toujours 2 problèmes qui subsistent :

    utilisation de S_SESSION pour passer les valeurs à Header,Footer.
    Cela ne fonctionne toujours pas et je ne comprends pas d'autant que les valeurs à passer sont récupérées au sein de la fonction.

    Output ne fonctionne toujours pas malgré la syntaxe que j'ai vérifiée plusieurs fois en faisant plusieurs essais.

    J'en suis à me demander si l'erreur de viendrait pas de FPDF lui même !!! Cela ne me semble pas possible.

    Je pense que je vais en rester là pour l'instant car le résultat obtenu est conforme à ce que j'attends mis à part 2 anomalies pas très académiques que j'essaierai de corriger plus tard.

    Merci à toi RunCodePhp. Tu as été très sympa.

Discussions similaires

  1. [FPDF] Utilisation de fpdf
    Par nicoaix dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/10/2009, 16h54
  2. utilisation de header
    Par dahan dans le forum Langage
    Réponses: 3
    Dernier message: 23/06/2006, 17h28
  3. [FPDF] Footer() et Header() de 'fpdf.php'
    Par kagura dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 03/05/2006, 12h21
  4. utilisation du header pour ouvrir des .doc
    Par krolineeee dans le forum Langage
    Réponses: 1
    Dernier message: 09/03/2006, 14h57
  5. [FPDF] Utilisation des librairies ezpdf et fpdf
    Par kirsoul dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 10/01/2006, 13h07

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