Как использовать данные формы html для создания формы fpdf - PullRequest
1 голос
/ 13 октября 2011

Я пытаюсь создать электронное письмо в формате PDF, используя данные, введенные в HTML-форму. Я не знаю, как использовать данные из базы данных MySQL или HTML-формы для создания PDF с использованием fpdf и отправить его по электронной почте. Я близок к завершению этого проекта, над которым я работал, и мне нужна помощь, чтобы завершить сделку. У меня сложная HTML-форма с использованием специально разнесенных таблиц, и я пытаюсь воспроизвести документ Excel в HTML-форме, выполняя вычисления JavaScript, и теперь все, что мне нужно сделать это по электронной почте эту форму в формате PDF, используя PHP или что-то с помощью моего веб-сервера Linux. пожалуйста, я действительно хочу знать это и для себя. За последние несколько недель я много узнал о html, php, mysql и javascript, и я начал это как проект для развлечения, и теперь люди хотят его. Сожалею. И спасибо всем за помощь в обучении этой информации. хорошо, вот код.

  <!DOCTYPE html>
  <html>
  <head>
 <?php
 $intro = mysql_real_escape_string($_POST['intro']);
 $hostname ="localhost";
 $db_user = "someuser";
 $db_password = "somepassword";
 $database = "form_something";
 $db_table = "FORM";
 $db = mysql_connect ($hostname, $db_user, $db_password);
 mysql_select_db($database,$db);
 ?>
  <title><h2>this is my form</h2><title>
  <?php
  if (isset($_REQUEST['Submit'])) { 
  # THIS CODE TELLS MYSQL TO INSERT THE DATA FROM THE FORM INTO MY MYSQL TABLE 
  $sql = "INSERT INTO $db_table(information) values ('".mysql_real_escape_string(stripslashes($_REQUEST['information']))."')";
  if($result = mysql_query($sql ,$db)) { 
  echo <h1>Thank you</h1>information has been entered into our database<br><img   src="http://someimage.com/here/is/the/image.jpg"';
 {
 p
 } else 
 { 
 echo "ERROR: ".mysql_error(); 
 }
 } else 
 {
 ?>
  ?>
  </head>
  <form action="pdf.php">
  <td colspan="2">type your information here<input type="text" name="information">
  <input type="submit" name="Submit" value="Submit">
  </body>
  </form>
  </html>

и базовая страница fpdf pdf.php выглядит следующим образом

 <?php
require('fpdf.php');

class PDF extends FPDF
 {
 // Page header
function Header()
{
// Logo
$this->Image('logo.png',140,6,60);
// Arial bold 15
$this->SetFont('Arial','B',15);
// Move to the right
$this->Cell(60);
 // Title
$this->Cell(80,10,' Form',1,0,'C');
// Line break
$this->Ln(20);
}

function Footer()
{
// Position at 1.5 cm from bottom
$this->SetY(-15);
// Arial italic 8
$this->SetFont('Arial','I',8);
// Page number
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}

$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
$pdf->Cell(0,10,'Printing line number '.$i,0,1);
$pdf->Output();
?>

1 Ответ

1 голос
/ 16 марта 2012

Я нашел довольно интуитивно понятным связывание HTML-формы с FPDF. Создайте форму в HTML, в этом примере я создаю текстовое поле и меню параметров. Обратите внимание, что я создаю форму с тегом action="to_pdf.php", который свяжет значения формы с php.

<form action="to_pdf.php" method="POST">
    <p>Name</p>
    <input type="text" name="name">

    <p>Priority</p>
    <select name="priority" size="1">
        <option value="Low">Low</option>
        <option value="Normal">Normal</option>
        <option value="High">High</option>
        <option value="Emergency">Emergency</option>
    </select>

    <input type="submit" value="Send"><input type="reset" value="Clear">
</form>

Затем импортируйте значения формы в ваш php файл, который мы уже указали в HTML, to_pdf.php

<?php

$name = $_POST['name'];
$priority = $_POST['priority'];

require('fpdf.php');

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

$pdf->SetFont('Arial','B',16);

$pdf->MultiCell(40,10,$name);
$pdf->MultiCell(40,10,$priority);

$pdf->Output(); 

?>

После этого вам нужно только убедиться, что у вас есть файл fpdf.php по указанному вами пути. И не забудьте запустить тест на веб-сервере или на локальном хосте, чтобы файлы php действительно запускались.

...