Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2010, 21h16   #1
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
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
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 21h22   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Utilise une session PHP pour stocker tes variables.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 21h26   #3
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
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
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 21h37   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
ta page intermediaire
Code :
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 :
1
2
3
4
 
session_start();
$fpdf = new fpdf();
$fpdf->write($_SESSION['a']...);
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 21h47   #5
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
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
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 21h52   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
C'est une representation schématique des fichiers que tu nous a décris
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 22h00   #7
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
Par défaut donc

j'ai mis cela dans mon premier php
Code :
1
2
3
4
session_start();
$_SESSION['naam'] = $_POST['naam'];
echo 'naam'  . $_POST['naam'];
echo "element/printpdf.php";
et ca dans le second
Code :
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
Citation:
" Missing argument 2 for FPDF::Write(), called "
LJ
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 10h40   #8
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
Par défaut suite

voici ou j'en suis
dans le premier fichier j'ai mis
Code :
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 :
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
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 18h20   #9
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu peux etre plus précis sur le "ne fonctionne pas" ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 18h44   #10
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
Par défaut suite

bonne année
mon pdf s'ouvre bien mais les variables n'apparaissent pas
LJ
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 19h20   #11
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Il faut que tu debug un peu.

Par exemple controle ce qui se passe dans ton premier fichier :
Code :
1
2
3
4
session_start();
var_dump($_POST);
$_SESSION['naam'] = $_POST["naam"];
$_SESSION['year'] = $_POST["year"];
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 19h57   #12
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
Par défaut suite

cela me fait apparaître audessus de mon module un
array(0) { } devant
page 2 !!
et après calcul
Code :
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
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 20h31   #13
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ca veut dire quoi "devant page 2" ?

Ta mise en session doit se faire quand les variables sont remplies.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 20h47   #14
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
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
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 21h46   #15
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Le session_start() est au début du code.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 21h49   #16
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
oui
voici le début du code de mon module
Code :
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
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 12h34   #17
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
Par défaut problème write

voici l'erreur que j'obtiens
Code :
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 :
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();
?>
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 13h10   #18
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ton objet c'est $pdf et non $fpdf.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 14h19   #19
Candidat au titre de Membre du Club
 
Homme laurent
Inscription : décembre 2005
Messages : 93
Détails du profil
Informations personnelles :
Nom : Homme laurent

Informations forums :
Inscription : décembre 2005
Messages : 93
Points : 14
Points : 14
Par défaut effectivement

le message erreur devient :
Citation:
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
Citation:
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
laurent00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 15h27   #20
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
L'erreur indiquée est parlante : write prend deux arguments.
http://www.fpdf.org/fr/doc/write.htm
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h53.


 
 
 
 
Partenaires

Hébergement Web