将表单数据插入pdf文件

时间:2016-11-17 12:09:45

标签: php forms pdf

我使用php将表单数据插入到pdf文件中,我使用foreach循环遍历表单数据,问题是提交按钮值也插入到pdf文件中,我不希望这样做发生。是否也可以将表单输入的标签插入到pdf文件中。另外,我在示例中只使用了两个输入字段,但是我有更多这就是我使用循环的原因。

表格

    <?php require 'pdf.php';?>
    <form action="#" method="post">
        <label for="fname">First Name:</label> <input type="text" name="fname" placeholder="First Name">
<label for="lname">Last Name</label> <input type="text" name="lname" placeholder="Last Name">
        <input type="submit" value="Submit" name="submit">
    </form>

pdf

<?php require('fpdf.php');?>
<?php
if(isset($_POST['submit'])) {


$pdf = new FPDF();
$pdf->AddPage();

foreach ($_POST as $key => $data) {

$pdf->SetFont('Arial','B',16);
$pdf->write(40,"$data");
$pdf->ln(10);


}
$pdf->Output();
}
?>

1 个答案:

答案 0 :(得分:0)

您正在将整个$ _POST变量写入文件,它包含具有名称的所有内容。

你应该选择性地写:

if(isset($_POST['submit'])){
  if(isset($_POST['fname']) && isset($_POST['lname'])){
    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',16);

    $pdf->write(40,$_POST['fname'] . " " . $_POST['lname']);
    $pdf->ln(10);
  } else {
    echo 'did not supply all the data';
  }
}

或排除特定密钥:

foreach ($_POST as $key => $data) {
  if($key == 'submit'){
    continue;
  }

  $pdf->SetFont('Arial','B',16);
  $pdf->write(40,"$data");
  $pdf->ln(10);
}