Souci de variable

Fermé
Noel-barbu Messages postés 258 Date d'inscription mercredi 5 septembre 2012 Statut Membre Dernière intervention 16 janvier 2018 - Modifié par Noel-barbu le 29/07/2013 à 09:37
Noel-barbu Messages postés 258 Date d'inscription mercredi 5 septembre 2012 Statut Membre Dernière intervention 16 janvier 2018 - 29 juil. 2013 à 11:15
Bonjour,

Je fais appelle au fine lame du PHP, je rencontre un problème de lecture avec ma variable PHP, j'ai 2 déclaration une pour le contenue de page et l'autre pour afficher un input sauf que rien ne s'affiche de l'input.


$pdf->AddPage();

$test='<input type="text" id="" name="">';

$html = '

<h1>PRESENTATION</h1>

<h3>INFORMATIQUE</h3>
<br />
<br />

<?php echo $test; ?>
';

$pdf->lastPage();

J'aimerais afficher le contenue de ma variable $test dans la variable $html comment puis-je faire ?

merci de vos réponses

1 réponse

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
Modifié par ThEBiShOp le 29/07/2013 à 09:42
Salut,

ton code est erroné, la syntaxe est mauvaise.

Tu ouvres une balise php alors que tu es déjà dans du code php, ça n'est pas possible.

Il faut faire une concaténation, tout simplement.

D'autant plus que tu veux juste ajouter $test à la suite de $html, il te suffit de faire ça :

$pdf->AddPage();

$test='<input type="text" id="" name="">';

$html = '

<h1>PRESENTATION</h1>

<h3>INFORMATIQUE</h3>
<br />
<br />';

$html .= $test;

$pdf->lastPage();


en fait il y aurait plusieurs façon d'écrire exactement la même chose.

Si tu ne connais pas cette écriture, voici l'explication :

$a .= $b;

équivaut à

$a = $a.$b;

le point étant le caractère de concaténation.
0
Noel-barbu Messages postés 258 Date d'inscription mercredi 5 septembre 2012 Statut Membre Dernière intervention 16 janvier 2018 2
Modifié par Noel-barbu le 29/07/2013 à 09:56
effectivement ...

je cherche a interprété une variable dans une variable et non mettre cette même variable a l'extérieur de celle qui existe , elle ne sera pas interpréter sinon a mon sens.

Plus de précision ici :

<?php

$pdf->AddPage();

$test='<input type="text" id="" name="">';

$html = '

<h1>PRESENTATION</h1>

<h3>INFORMATIQUE</h3>
<br />
<br />

====> le résulta de la variable test doit apparaitre ici dans la variable $html

'; // fin de la variable $html

$pdf->lastPage();

?>

Voie tu ce que que cherche a faire
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
29 juil. 2013 à 10:00
Les sauts de ligne dans ton code ne seront pas répercutés dans le rendu de ta page, il ne sert à rien de mettre 4 retours à la ligne.

Ta variable 1 n'est qu'une simple chaine de caractère, ta variable 2 en est une autre.
Il n'y a pas "d'interprétation de variable", ce que tu cherches à faire c'est mettre ta variable test à la suite de ta variable html.

Si tu y tiens absolument tu peux faire ça :

$test='<input type="text" id="" name="">';

$html = '

<h1>PRESENTATION</h1>

<h3>INFORMATIQUE</h3>
<br />
<br />

'.$test.'
';


Mais comme je l'ai déjà, tes sauts de lignes seront ignorés au final, donc le rendu sera strictement équivalent à ce que j'ai donné plus haut...
0
Noel-barbu Messages postés 258 Date d'inscription mercredi 5 septembre 2012 Statut Membre Dernière intervention 16 janvier 2018 2
Modifié par Noel-barbu le 29/07/2013 à 10:24
Je comprends, si tu veux ça c'est une interprétation pour transformer ma page en PDF tout s'affiche correctement sauf les inputs, les retours à la ligne sont interpréter et font leur boulot d'où les balises <br /> .

Dans le contexte actuelle voici mon code PHP globale, qui convertie ma page en format PDF,
Le hic est que les inputs ne s'interprète pas, d'où l'intérêt de mettre la variable $test dans la variable $html et non à la suite, parce que c'est des tableaux donc les inputs doive être dedans

( j'espère être précis dans ma demande je pourrait détaillé si besoin)


<?php

// -----------------------------------------------------------------------------
// ------------------------- PARAMETRE LIBRAIRIE PDF -----------
// -----------------------------------------------------------------------------

// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');

// Création nouveau document PDF
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'iso-8859-2', false);

// Paramètre par defaut du header
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' CELTIVET', PDF_HEADER_STRING);

// Paramètre du footer
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}

// -----------------------------------------------------------------------------
// ------------------------- PARAMETRE LIBRAIRIE PDF -----------
// -----------------------------------------------------------------------------






// -----------------------------------------------------------------------------
// ------------------------------- PARAMETRE CSS --------------------
// -----------------------------------------------------------------------------
// set font
$pdf->SetFont('helvetica', 'B', 20);

// add a page
$pdf->AddPage();

$pdf->Write(0, '', '', 0, 'L', true, 0, false, false, 0);

$pdf->SetFont('helvetica', '', 8);
// -----------------------------------------------------------------------------
// ------------------------------- PARAMETRE CSS -------------------
// -----------------------------------------------------------------------------


$test='<input type=text id= name=>';




// -----------------------------------------------------------------------------
// --------------------------- CODE HTML DE LA PAGE -------------
// -----------------------------------------------------------------------------
$tbl = <<<EOD

<h1>PRESENTATION</h1>

<h3>INFORMATIQUE</h3>

<table border="1">
<tr>
<td colspan="2" width="253" align="center"><b>test1</b></td>
<td width="124" align="center"><b>test2</b></td>
<td width="127" align="center"><b>test3</b></td>
<td width="127" align="center"><b>test4</b></td>
</tr>
<tr>
<td width="126" align="center">test5</td>
<td width="126" align="center">test6</td>
<td width="126" align="center"> </td>
<td width="126" align="center"> </td>
<td width="126" align="center"> </td>
</tr>
<tr>
<td width="126" align="center"></td>
<td width="126" align="center"></td>
<td width="126" align="center">test7</td>
<td width="126" align="center"></td>
<td width="126" align="center"></td>
</tr>
<tr>
<td width="126" align="center"></td>
<td width="126" align="center"></td>
<td width="126" align="center">test8</td>
<td width="126" align="center"></td>
<td width="126" align="center"></td>
</tr>
</table>

EOD;

// -----------------------------------------------------------------------------
// ------------------------ PARAMETRE ECRITURE / INFO --------------------------
// -----------------------------------------------------------------------------
// Ecriture PDF
$pdf->writeHTML($tbl, true, false, false, false, '');

// -----------------------------------------------------------------------------
// --------------------------- CODE HTML DE LA PAGE ----------------------------
// -----------------------------------------------------------------------------




// Sortie du Document
$pdf->Output('page.pdf', 'I');

//============================================================+
// END OF FILE
//============================================================+

?>
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
29 juil. 2013 à 10:24
Vu comment tu essayais d'intégrer tes inputs, c'était normal que ça ne fonctionnait pas.

Tu as essayé comme je t'ai suggéré ?
0
Noel-barbu Messages postés 258 Date d'inscription mercredi 5 septembre 2012 Statut Membre Dernière intervention 16 janvier 2018 2
Modifié par Noel-barbu le 29/07/2013 à 10:33
Oui la concaténation à la suite fonctionne oui effectivement, mais cela ne répond pas à mes attente au faite mais ça fonctionne regarde le code ci-dessus en globalité c'est pour ça qu'il faut que les inputs soit à l'intérieur du tableau (chose que je n'ai pas mis toute à leur)

effectivement si je fais comme cela

$test='<input type=text id= name=>';

$html= '

<h1>PRESENTATION</h1>

<h3>INFORMATIQUE</h3>

'.'echo'.'Portable_eleveur = '.$test;'.';

cela s'affiche comme convenue a la suite ( si je mais ma variable test avec du texte ..) , seulement les input ne veule pas être interprété et ça c'est emmerdant.

exempla ça :


$test='<input type=text id= name=>'; // ne s'affichera pas en sortie pdf

par contre ça si :


$test='bizarre qui a dit bizarre';
0