如何在mPDF中的$ html中传递if语句?

时间:2017-11-12 07:03:20

标签: php function mpdf

如何通过if中的$html声明?我从表单的值构建pdf,我不确定如何使用html传递此if语句。

我使用mPDF版本6生成pdf。

我已经研究了一段时间,但没有找到正确的方法。所以,我非常感谢你的建议。提前谢谢。

<?php
   include('mPDF/mpdf.php');

   $name = $_POST["name"];
   $age = $_POST["age"];

   $html = '<html>
               {if (!empty($_POST['name'])) echo 'Name: ' . $name;}<br>
               {if (!empty($_POST['age'])) echo 'Age: ' . $age;}
            </html>';
   $mpdf = new mPDF();
   $mpdf->WriteHTML($html);
   $mpdf->Output();
   ?>

这是您需要查看的表格:

<form method="post" action="generatePDF.php">   
   Name: <input type="text" name="name" id="name"  /><br>
   Age: <input type="text" name="age" id="age"  /><br>
</form>

3 个答案:

答案 0 :(得分:1)

我宁愿将其更改为以下内容,以便我不会将其更改为检查HTML中的条件。事先执行所有条件并准备好可在HTML中使用的变量,以生成PDF:

<?php
   include('mPDF/mpdf.php');

   $name = !empty($_POST["name"]) ? 'Name: ' . $_POST['name'] : '';
   $age = !empty($_POST["age"]) ? 'Age: ' . $_POST["age"] : '';

   $html = '<html>' . 
               $name . '<br>' .
               $age . 
            '</html>';
   $mpdf = new mPDF();
   $mpdf->WriteHTML($html);
   $mpdf->Output();
   ?>

答案 1 :(得分:1)

首先,您需要使用双重报价

$html=" code "; // because variable execute only in double quote 

其次,你需要在字符串

之外使用 if statemen
if (!empty($_POST['name'])){ $prnt_name='Name: ' . $name;}
if (!empty($_POST['age'])) { $prnt_age= 'Age: ' . $age;}
$html = "<html>
           $prnt_name<br>
           $prnt_age
       </html>";

答案 2 :(得分:1)

您无法在字符串文字中嵌入PHP代码。以传统方式构建$ html字符串:

<?php
   include('mPDF/mpdf.php');

   $name = $_POST["name"];
   $age = $_POST["age"];

   $html = '<html>' . (!empty($name) ? 'Name: ' . $name : '') . '<br>'
                    . (!empty($age) ? 'Age: ' . $age : '') .
            '</html>';
   $mpdf = new mPDF();
   $mpdf->WriteHTML($html);
   $mpdf->Output();
   ?>