2011-10-13 119 views
1

我正尝试使用输入到html表单中的数据创建pdf电子邮件。我不知道如何使用来自mysql数据库或html表单的数据使用fpdf创建PDF并发送电子邮件。我接近完成这个项目,我一直在努力,并需要帮助关闭交易我有一个困难的HTML格式,使用特别间隔的表格,并试图重现一个Excel文件的HTML形式做javascript计算,现在我需要do是使用php或者使用我的linux网络服务器以PDF格式通过电子邮件发送这个表单。请我真的很想知道这一点。在过去的几个星期里,我已经学会了很多关于html,php,mysql和javascript的知识,并且我开始将它作为一个有趣的项目,现在人们都想要它。抱歉。并感谢大家为我提供这些信息的全部帮助。好的继承人的代码。如何使用html表单数据创建fpdf表单

<!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

一次一件事。首先确保浏览器发布正确的参数,然后让php正确使用这些参数。没有必要把所有的代码都放在这里。 – Rufus

回答

1

我发现这是非常直观的连接与FPDF一个HTML表单。在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文件在你说的道路上。并记住在Web服务器或本地主机上运行测试,以便实际运行php文件。