[RESOLU] Passage de variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Passage de variable

Re: Passage de variable

par [Compte supprime] » 03 avr. 2013, 19:05

Merci, ça fonctionne niquel !!!

Re: Passage de variable

par edison1986 » 03 avr. 2013, 13:56

Bonjour,

Si le fichier modele_facture.php n'est utiliser qu'ici tu peux faire un truc du genre:
if(isset($_GET['num_facture']) && $_GET['num_facture']; != "")
{
ob_start();

$nom_file = $_GET['num_facture']; 
include(dirname(__FILE__)."/modele_facture.php");

$content = ob_get_clean();
 
// convert in PDF
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
try
{ 
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', array(0, 5, 0, 5));
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content);
$html2pdf->Output('docs/' . $nom_file . '.pdf', 'F');
}
else
   echo("Erreur: pas de numéro de facture");
et dans le fichier modele_facture.php
if(isset($nom_file) && $nom_file != "")
{
   /* TU EXECUTE TON CODE */
}
else
   echo("ERREUR (modele_facture.php): pas de nom de fichier");

Re: Passage de variable

par moogli » 03 avr. 2013, 13:55

salut,


Le fichier inclus sera traité comme si le code était dans la page, donc toute variable déclarée avant sera accessible dans le fichier inclus.

Pour faire quelque chose de propre il serait plus intéressant que tu ai une fonction (ou une classe) dans le fichier inclus, qui va te générer le contenue et retourner une chaine de caractère.
L'avantage c'est que se sera utilisable dans d'autre page et que tu a juste a fournir le N) de facture en paramètre de la fonction (ou un "setter" sur la classe).

si non la version moisie, tu déplace la ligne $nom_file = $_GET['num_facture']; avant l'include et tu utilise $nom_file dans le fichier .
Il faudra impérativement avoir une variable $nom_file avant d'utiliser ce fichier.


@+

Passage de variable

par [Compte supprime] » 03 avr. 2013, 13:43

Bonjour,

Je développe un petit outil de facturation et j'ai un souci où moment de passer une variable...

Le schéma est le suivant :

Formulaire -> Traitement formulaire -> Traitement pdf (avec un autre fichier en include).

Ci-joint le traitement pdf avec HTML2PDF :
ob_start();
include(dirname(__FILE__)."/modele_facture.php");
$content = ob_get_clean();
 
// convert in PDF
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
try
{
$nom_file = $_GET['num_facture'];   
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', array(0, 5, 0, 5));
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content);
$html2pdf->Output('docs/' . $nom_file . '.pdf', 'F');
Dans ce fichier, j'arrive bien à récupérer le numéro de facture créé après le traitement du formulaire, $_GET['num_facture'];

Par contre, en haut, j'ai l'include du fichier "modele_facture.php". Dans ce fichier, j'ai une connexion avec une bdd où j'ai impérativement besoin du numéro de le facture. Je ne vois pas comment l'envoyer dans le fichier sachant que le seul lien est cet include.

Pour info, tout le reste fonctionne parfaitement ! Si je mets un numéro de facture sans variable dans le modele, le traitement du formulaire puis l'éxécution du pdf fonctionne sans souci.

Merci à vous ! :)