如何消除 FPDF 中的这个错误?
How to remove this error in FPDF?
我正在使用 FPDF 以 pdf 格式显示以 html 形式提交的数据。
我已经完成了前面问题中给出的所有解决方案,但我无法解决这个问题。
我收到错误:
Notice: Undefined variable: s_
name in C:\xampp\htdocs\dynamic website\form1.php on line 9
FPDF error: Some data has already been output, can't send PDF file
我的部分 html 代码是
<td align="right" valign="top">
<label for="student3_name">3.Name </label>
</td>
<td valign="top">
<input type="text" name="student3_name" maxlength="50" size="20" >
</td>
我的form1.php如下:
<?php
if(isset($_POST['submit']))
{$s_name = $_POST["student3_name"];}
require ("fpdf/fpdf.php");
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(0,50,'',0,1);
$pdf->Cell(60,10,"hello{$s_name}",10,8,'C');
$pdf->output();
?>
编辑:
这是我的表格的详细部分
<form name="submission_form" method="post" action="form1.php">
<p style="text-align: center; font-size: 24px; font-weight: 900;></p>
<table width="634" align="center" border="1">
<tr>
<td align="right" valign="top">
<label for="student3_name">3.Name </label>
</td>
<td valign="top">
<input type="text" name="student3_name" maxlength="50" size="20" >
</td>
</tr>
<tr>
<td colspan="4" style="text-align:center">
<input type="submit" value="Submit"></td>
</tr>
将您的代码更改为:
<?php
$s_name = "";
if(isset($_POST['submission_form']))
{
$s_name = $_POST["student3_name"];
}
require ("fpdf/fpdf.php");
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(0,50,'',0,1);
$pdf->Cell(60,10,"hello{$s_name}",10,8,'C');
$pdf->output();
?>
将您的提交按钮更改为此
<input name="submission_form" type="submit" value="Submit">
您在块内声明 $s_name 变量,该变量在块外是不可见的,因此您不能在除声明它的块内以外的任何其他地方使用它。
您需要一个 else 条件来定义 s_name
在 isset($_POST['submit'])
returns false 的情况下。
类似于:
if (isset($_POST['submit'])) {
$s_name = $_POST['student3_name'];
} else {
$s_name = 'The form hasn\'t been submitted yet!';
}
跟进您的编辑:
还要确保提交按钮正在发布它的值。为此,您需要包含名称属性:
<input name="submit" type="submit" value="Submit"/>
我正在使用 FPDF 以 pdf 格式显示以 html 形式提交的数据。 我已经完成了前面问题中给出的所有解决方案,但我无法解决这个问题。 我收到错误:
Notice: Undefined variable: s_ name in C:\xampp\htdocs\dynamic website\form1.php on line 9 FPDF error: Some data has already been output, can't send PDF file
我的部分 html 代码是
<td align="right" valign="top">
<label for="student3_name">3.Name </label>
</td>
<td valign="top">
<input type="text" name="student3_name" maxlength="50" size="20" >
</td>
我的form1.php如下:
<?php
if(isset($_POST['submit']))
{$s_name = $_POST["student3_name"];}
require ("fpdf/fpdf.php");
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(0,50,'',0,1);
$pdf->Cell(60,10,"hello{$s_name}",10,8,'C');
$pdf->output();
?>
编辑: 这是我的表格的详细部分
<form name="submission_form" method="post" action="form1.php">
<p style="text-align: center; font-size: 24px; font-weight: 900;></p>
<table width="634" align="center" border="1">
<tr>
<td align="right" valign="top">
<label for="student3_name">3.Name </label>
</td>
<td valign="top">
<input type="text" name="student3_name" maxlength="50" size="20" >
</td>
</tr>
<tr>
<td colspan="4" style="text-align:center">
<input type="submit" value="Submit"></td>
</tr>
将您的代码更改为:
<?php
$s_name = "";
if(isset($_POST['submission_form']))
{
$s_name = $_POST["student3_name"];
}
require ("fpdf/fpdf.php");
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(0,50,'',0,1);
$pdf->Cell(60,10,"hello{$s_name}",10,8,'C');
$pdf->output();
?>
将您的提交按钮更改为此
<input name="submission_form" type="submit" value="Submit">
您在块内声明 $s_name 变量,该变量在块外是不可见的,因此您不能在除声明它的块内以外的任何其他地方使用它。
您需要一个 else 条件来定义 s_name
在 isset($_POST['submit'])
returns false 的情况下。
类似于:
if (isset($_POST['submit'])) {
$s_name = $_POST['student3_name'];
} else {
$s_name = 'The form hasn\'t been submitted yet!';
}
跟进您的编辑:
还要确保提交按钮正在发布它的值。为此,您需要包含名称属性:
<input name="submit" type="submit" value="Submit"/>