我使用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>
<?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();
}
?>
答案 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);
}