I am using FPDF for the PDF and so far in my search I saw this similar question to my question and followed the code there and when I ran it no Error was being called and the PDf can be downloaded. But the problem is when I open the PDF file it is empty and I can't seem to understand the problem. This is my PHP code:
<?php
include("connections.php");
require("fpdf181/fpdf.php");
$pdf = new FPDF();
$name = $address = $email = "";
$nameErr = $addressErr = $emailErr = "";
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty($_POST["name"])){
$nameErr = "Name is required!";
}else{
$name = $_POST["name"];
}
if(empty($_POST["address"])){
$addressErr = "Address is required!";
}else{
$address = $_POST["address"];
}
if(empty($_POST["email"])){
$emailErr = "Email is required!";
}else{
$email = $_POST["email"];
}
}
//When button is clicked the pdf will be generated
if (isset($_POST["btn_1"])) {
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('','',12);
$view_query = mysqli_query($connections, "SELECT * FROM sample");
//where the database is accessed
while ($row = mysqli_fetch_assoc($view_query))
{
$db_name = $row["Name"];
$db_address = $row["Address"];
$db_email = $row["Email"];
$pdf->Cell(0,10,'', $db_name,1);
$pdf->Ln();
$pdf->Cell(0,10,'', $db_address,1);
$pdf->Ln();
$pdf->Cell(0,10,'', $db_email,1);
$pdf->Ln();
}
$pdf->Output();
}
?>
<style>
.error{
color:red;
}
</style>
<form method = "POST" action= "<?php htmlspecialchars("PHP_SELF");?>">
<input type = "text" name="name" value="<?php echo $name; ?>"><br>
<span class = "error"><?php echo $nameErr;?></span><br>
<input type = "text" name="address" value="<?php echo $address; ?>"><br>
<span class = "error"><?php echo $addressErr;?></span><br>
<input type = "text" name="email" value="<?php echo $email; ?>"><br>
<span class = "error"><?php echo $emailErr;?></span><br>
<input type = "submit" value="Submit">
<input type = "submit" name="btn_1" value="PDF">
</form>
<?php
// Insert to table
if($name && $address && $email){
$query = mysqli_query($connections, "INSERT INTO sample(Name,Address,Email)
VALUES('$name','$address','$email')");
echo "<script language='javascript'>alert('New Record has been inserted!')
</script>";
echo"<script>window.location.href='index.php';</script>";
}
//view table
$view_query = mysqli_query($connections, "SELECT * FROM sample");
echo"<table border = '1' width ='50%'>";
echo "<tr>
<td>Name</td>
<td>Address</td>
<td>Email</td>
</tr>";
while ($row = mysqli_fetch_assoc($view_query)) {
$db_name = $row["Name"];
$db_address = $row["Address"];
$db_email = $row["Email"];
echo "<tr>
<td>$db_name</td>
<td>$db_address</td>
<td>$db_email</td>
</tr>";
}
echo "</table>";
mysqli_close($connections);
?>