Php 某些数据已输出,无法发送PDF文件
我使用fpdf在php中创建pdf,运行时出现以下错误:Php 某些数据已输出,无法发送PDF文件,php,pdf-form,Php,Pdf Form,我使用fpdf在php中创建pdf,运行时出现以下错误: Notice: Undefined index: id in C:\xampp1\htdocs\arvin2\public\pdf2\id.php on line 3 FPDF error: Some data has already been output, can't send PDF file 这是我的php代码报告。php: <form action="http://localhost/pdf2/id.php" metho
Notice: Undefined index: id in C:\xampp1\htdocs\arvin2\public\pdf2\id.php on line 3
FPDF error: Some data has already been output, can't send PDF file
这是我的php代码报告。php:
<form action="http://localhost/pdf2/id.php" method="post" target="_blank">
<input type="text" name="id">
<input type="submit" name="submitpdf" value="Print"/>
</form>
错误显示:
Parse error: syntax error, unexpected '$pdf' (T_VARIABLE) in C:\xampp1\htdocs\arvin2\public\pdf2\id.php on line 34
输出应为pdf格式中打印的文本字段中输入的身份证号码的所有信息 将if设置在代码中。即
if(isset($_POST['submitpdf']))
{
//$id=$_POST['id'];
//your code goes here
}
这是为了确保代码只能在读取表单数据后运行
编辑:
我猜您的新错误来自select字符串
$pdf->Table('select leave_id, fullname, type_of_leave from application where id_no="$_POST[id]"',$prop);
将其更改为:
$pdf->Table("select leave_id, fullname, type_of_leave from application where id_no=".$_POST[id],$prop);
在你的代码上加上if。即
if(isset($_POST['submitpdf']))
{
//$id=$_POST['id'];
//your code goes here
}
这是为了确保代码只能在读取表单数据后运行
编辑:
我猜您的新错误来自select字符串
$pdf->Table('select leave_id, fullname, type_of_leave from application where id_no="$_POST[id]"',$prop);
将其更改为:
$pdf->Table("select leave_id, fullname, type_of_leave from application where id_no=".$_POST[id],$prop);
错误:某些数据已输出,无法发送PDF文件
您可以使用两行代码来解决此问题
你应该写在这页的顶部
ob_开始
在PDF输出行$PDF->Output之前;添加新行
ob_end_冲洗
$pdf->输出
我想你可以解决这个问题,享受更多
谢谢
萨拉赫丁·汗医学博士
错误:某些数据已输出,无法发送PDF文件
您可以使用两行代码来解决此问题
你应该写在这页的顶部
ob_开始
在PDF输出行$PDF->Output之前;添加新行
ob_end_冲洗
$pdf->输出
我想你可以解决这个问题,享受更多
谢谢
萨拉赫丁·汗医学博士
我也犯了同样的错误
Data has already been sent to output, unable to output PDF file
这意味着在使用mPDF创建pdf之前,一些数据存储在缓冲区中,然后发送到浏览器。因此,它无法创建PDF
就这么做。。在为pdf准备数据时,在页面的第一行添加php内置函数
op_start();
在调用mPDF之前,在mPDF代码之前添加php内置函数
ob_end_flush();
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML($html);
$mpdf->Output();
因此,它将在处理mPDF之前清除所有缓冲区输出。我得到了相同的错误
Data has already been sent to output, unable to output PDF file
这意味着在使用mPDF创建pdf之前,一些数据存储在缓冲区中,然后发送到浏览器。因此,它无法创建PDF
就这么做。。在为pdf准备数据时,在页面的第一行添加php内置函数
op_start();
在调用mPDF之前,在mPDF代码之前添加php内置函数
ob_end_flush();
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML($html);
$mpdf->Output();
因此,它将在处理mPDF之前清除所有缓冲区输出。您应该在要以pdf格式输出的数据之前使用
ob_start();
然后使用ob_end_clean
ob_end_clean();
$pdf->Output(time().'.pdf', 'D')
您应该在要以pdf格式输出的数据之前使用
ob_start();
然后使用ob_end_clean
ob_end_clean();
$pdf->Output(time().'.pdf', 'D')
对于一些已经输出的数据,您应该确保没有任何额外的空白?代码周围的字符。对于未定义的索引,您的id表单字段似乎始终保持为空。请注意SQL注入。额外的输出是错误消息,因此通过删除id问题,另一个也会成功。没有空格,先生。@AndréDaniel是的,它始终保持为空。我如何解决此问题?对于已输出的某些数据,你应该确保没有多余的空格?代码周围的字符。对于未定义的索引,您的id表单字段似乎始终保持为空。请注意SQL注入。额外的输出是错误消息,因此通过删除id问题,另一个也将成功。没有空格,先生。@AndréDaniel是的,它始终保持为空。我如何修复它?解析错误:语法错误,意外的T_封装的_和_空格,在第29行的C:\xampp1\htdocs\arvin2\public\pdf2\id.php中需要标识符T_字符串或变量T_变量或数字T_NUM_字符串。它们不在同一个文件中。现在它显示:解析错误:语法错误,第30行的C:\xampp1\htdocs\arvin2\public\pdf2\id.php中出现意外的“$pdf”T_变量。请更新您的代码和上面发布的问题,好吗?我无法想象为什么它会给你一个错误。检查分号和括号,请尝试进行必要的更改。就像if isset。以及select的修改字符串。看看能不能用。然后再次更新您的问题:语法错误、意外的T_封装的_和_空格、C:\xampp1\htdocs\arvin2\public\pdf2\id.php第29行中的标识符T_字符串或变量T_变量或数字T_NUM_字符串现在显示为:Parse error:syntax error,第30行的C:\xampp1\htdocs\arvin2\public\pdf2\id.php中出现意外的“$pdf”T_变量。请更新您的代码和上面发布的问题,好吗?我无法想象为什么它会给你一个错误。检查分号和括号,请尝试进行必要的更改。就像if isset。以及select的修改字符串。看看能不能用。然后再次更新您的问题