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 :

appeler une variable d'un fichier php dans un autre php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut appeler une variable d'un fichier php dans un autre php
    bonsoir
    j'essaie de développer un petit outil ici
    après saisie dans le formulaire et calcule dans un fichier php de base une imprimante apparaît
    elle envoi sur un fichier php qui crée un pdf imprimable avec la librairie fpdf
    comment dans ce second php appeler mes variables saisies dans mon formulaire et les résultats de calcul
    merci LJ

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise une session PHP pour stocker tes variables.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut yes
    why not mais as-tu un exemple ?
    je débute
    aussi mon second fichier php appel déjà un fichier php est-ce possible d’appeler deux fichiers php
    LJ

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ta page intermediaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    session_start();
    $_SESSION['a'] = $_POST['a'];
    echo 'a vaut '  . $_POST['a'];
    echo "image d'une imprimante";
    ton fichier de génération de pdf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    session_start();
    $fpdf = new fpdf();
    $fpdf->write($_SESSION['a']...);

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut bon
    euh pas tout compris ...
    alors je recherche u peu de doc sur la session start ...
    la première partie doit se mettre dans ma page intermédiaire cquoi au juste ?
    et le echo image imprimante envoi sur quoi ?
    LJ

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est une representation schématique des fichiers que tu nous a décris

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut donc
    j'ai mis cela dans mon premier php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    session_start();
    $_SESSION['naam'] = $_POST['naam'];
    echo 'naam'  . $_POST['naam'];
    echo "element/printpdf.php";
    et ca dans le second
    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
     
    session_start();
    $pdf=new PDF();
     
    $pdf->write($_SESSION['naam']);
     
    //Titres des colonnes
    $header=array('Energie','Co2 (kg)');
    //Chargement des données
    $data=$pdf->LoadData('pays.txt');
    $pdf->SetFont('Arial','',14);
    $pdf->AddPage();
    $pdf->FancyTable($header,$data);
    $pdf->SetTitle('Profil CO2');
    $pdf->SetAuthor('LJ01');
     
    $pdf->Output();
    ?>
    mais j'ai une erreur genre
    " Missing argument 2 for FPDF::Write(), called "
    LJ

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut suite
    voici ou j'en suis
    dans le premier fichier j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    session_start();
    
    $_SESSION['naam'] = $_POST["naam"];
    $_SESSION['year'] = $_POST["year"];
    
    echo '<br /><a href="/modules/mod_CO2profil/element/printpdf.php">page 2</a>';
    dans le second

    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
    session_start();
    
    echo $_SESSION['naam']; 
    echo $_SESSION['year'];
    
    require('./fpdf.php');
    
    class PDF extends FPDF
    {
    
    //En-tête
    function Header()
    {
    	//Logo
    
    	$this->Image('world.png',10,8,23,0,'','http://lau.jarry.free.fr/index.php/logiciel-libre/calculs-co2');
    	//Police Arial gras 15
    	$this->SetFont('Arial','B',15);
    	//Décalage à droite
    	$this->Cell(50);
    	//Titre
    	$this->Cell(100,10,'Profil Co2 de '.$_SESSION['naam'].'',1,0,'C');
    	$this->Cell($_SESSION['naam']);
    	//Saut de ligne
    	$this->Ln(10);
    	$this->Cell(10);
    	$this->SetFont('Arial','',15);
    	$this->Cell(0,10,'pour l année '.$_SESSION['year'].'',0,0,'C');
    mais cela ne fonctionne pas ..
    une aide please LJ

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux etre plus précis sur le "ne fonctionne pas" ?

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut suite
    bonne année
    mon pdf s'ouvre bien mais les variables n'apparaissent pas
    LJ

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut que tu debug un peu.

    Par exemple controle ce qui se passe dans ton premier fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    session_start();
    var_dump($_POST);
    $_SESSION['naam'] = $_POST["naam"];
    $_SESSION['year'] = $_POST["year"];

  12. #12
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut suite
    cela me fait apparaître audessus de mon module un
    array(0) { } devant
    page 2 !!
    et après calcul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    array(10) { ["display_year"]=> string(4) "2005" ["naam"]=> string(0) "" ["fioul"]=> string(0) "" ["elek"]=> string(0) "" ["gas"]=> string(0) "" ["gasp"]=> string(0) "" ["kma"]=> string(0) "" ["km"]=> string(0) "" ["kmt"]=> string(0) "" ["calcul"]=> string(8) "CALCULER" }
    mais rien dans le pdf
    Lj

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca veut dire quoi "devant page 2" ?

    Ta mise en session doit se faire quand les variables sont remplies.

  14. #14
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut page2
    page 2 est le lien qui envoi sur la deuxième page

    donc je dois mettre session start après le calcul dans le phph ?
    LJ


    suite pas mieux

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le session_start() est au début du code.

  16. #16
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut
    oui
    voici le début du code de mon module
    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
    <?php
    session_start();
    var_dump($_POST);
    $_SESSION['naam'] = $_POST["naam"];
    $_SESSION['year'] = $_POST["year"];
     
    echo '<br /><a href="/modules/mod_CO2profil/element/printpdf.php">page 2</a>';
     
    //Related Content//
    /**
    * @Copyright (C) 2010-decembre
    * @ All rights reserved
    * @ Released under GNU/GPL License : http://www.gnu.org/copyleft/gpl.html
    * @version 2.7
    **/             
     
    defined( '_JEXEC' ) or die( 'Restricted access' ); 
     
    ?>
     
    <body>
    <html>
     
      <script language="javascript">
      function popup_aide(page)      {
      window.open(page,"nom_popup","menubar=no, status=no, scrollbars=yes, width=500, height=500");      }
      </SCRIPT>
     
    <form action='<?php $_SERVER[PHP_SELF];?>' method='post'>
     
     
    <?php 
     
     
    $color_form=$params->get( 'color_form' );
    $bordersize_form=$params->get( 'bordersize_form' );
    $color_graph=$params->get( 'color_graph' );
    $bordersize_graph=$params->get( 'borders
    pour préciser mon premier fichier php se trouve dans un module de site Joomla et le deuxième est dans un sous répertoire de ce module ...
    LJ

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut problème write
    voici l'erreur que j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to a member function write() on a non-object in /mnt/159/sdd/e/a/batenergie/modules/mod_CO2profil/element/printpdf.php on line 103
    voici la ligne 103 = $fpdf->write($_SESSION['naam']);
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    <?php
    session_start();
     
    echo $_SESSION['naam']; 
    echo $_SESSION['year'];
     
    require('./fpdf.php');
     
     
    class PDF extends FPDF
    {
     
    //En-tête
    function Header()
    {
    	//Logo
     
    	$this->Image('world.png',10,8,23,0,'','http://lau.jarry.free.fr/index.php/logiciel-libre/calculs-co2');
    	//Police Arial gras 15
    	$this->SetFont('Arial','B',15);
    	//Décalage à droite
    	$this->Cell(50);
    	//Titre
    	$this->Cell(100,10,'Profil Co2 de '.$_SESSION['naam'].'',1,0,'C');
    	$this->Cell($_SESSION['naam']);
    	//Saut de ligne
    	$this->Ln(10);
    	$this->Cell(10);
    	$this->SetFont('Arial','',15);
    	$this->Cell(0,10,'pour l année '.$_SESSION['year'].'',0,0,'C');
    	$this->Ln(20);
    	$this->SetFont('Arial','',11);
    	$this->MultiCell(0,8,'Ce profil est établi avec les facteurs de conversion CO2 du Bilan Carbone. Ils comprennent les énergies directes et indirectes.',0,1);
    	$this->Ln(10);
    }
     
    //Chargement des données
    function LoadData($file)
    {
    	//Lecture des lignes du fichier
    	$lines=file($file);
    	$data=array();
    	foreach($lines as $line)
    		$data[]=explode(';',chop($line));
    	return $data;
    }
     
     
    //Tableau coloré
    function FancyTable($header,$data)
    {
    	//Couleurs, épaisseur du trait et police grasse
    	$this->SetFillColor(128,0,0);
    	$this->SetTextColor(255);
    	$this->SetDrawColor(128,0,0);
    	$this->SetLineWidth(.3);
    	$this->SetFont('','B');
    	//En-tête
    	$w=array(40,35);
    	for($i=0;$i<count($header);$i++)
    		$this->Cell($w[$i],7,$header[$i],1,0,'C',1);
    	$this->Ln();
    	//Restauration des couleurs et de la police
    	$this->SetFillColor(224,235,255);
    	$this->SetTextColor(0);
    	$this->SetFont('');
    	//Données
    	$fill=false;
    	foreach($data as $row)
    	{
    		$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
    		$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
    		$this->Ln();
    		$fill=!$fill;
    	}
    	$this->Cell(array_sum($w),0,'','T');
    }
     
    //Pied de page
    function Footer()
    {
    	//Positionnement à 1,5 cm du bas
    	$this->SetY(-15);
    	//Police Arial italique 8
    	$this->SetFont('Arial','I',8);
    	//Numéro de page
    	$this->Cell(0,10,'Module Joomla!1.5 - Profil CO2',0,0,'C');
    }
     
    }
     
     
    $pdf=new PDF();
    //Titres des colonnes
    $header=array('Energie','Co2 (kg)');
    //Chargement des données
    $data=$pdf->LoadData('pays.txt');
    $pdf->SetFont('Arial','',14);
    $pdf->AddPage();
    $pdf->FancyTable($header,$data);
    $pdf->SetTitle('Profil CO2');
    $pdf->SetAuthor('LJ01');
    $fpdf->write($_SESSION['naam']);
     
    $pdf->Output();
    ?>

  18. #18
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton objet c'est $pdf et non $fpdf.

  19. #19
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 47
    Points
    47
    Par défaut effectivement
    le message erreur devient :
    Warning: Missing argument 2 for FPDF::Write(), called in /mnt/159/sdd/e/a/batenergie/modules/mod_CO2profil/element/printpdf.php on line 103 and defined in /mnt/159/sdd/e/a/batenergie/modules/mod_CO2profil/element/fpdf.php on line 807
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/159/sdd/e/a/batenergie/modules/mod_CO2profil/element/fpdf.php:807) in /mnt/159/sdd/e/a/batenergie/modules/mod_CO2profil/element/fpdf.php on line 1017
    FPDF error: Some data has already been output, can't send PDF file

  20. #20
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    L'erreur indiquée est parlante : write prend deux arguments.
    http://www.fpdf.org/fr/doc/write.htm

Discussions similaires

  1. Appeler une fonction depuis un fichier .js dans un code html
    Par free_01_binairy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/12/2014, 13h40
  2. Réponses: 5
    Dernier message: 09/06/2008, 08h57
  3. Réponses: 2
    Dernier message: 08/02/2008, 11h03
  4. copier une partie d'un fichier texte dans un autre
    Par Valarauko dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/10/2007, 21h17
  5. Réponses: 4
    Dernier message: 14/05/2007, 13h44

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