我有一个提交表单,我希望它做两件事: 1)将值存储在数据库中 2)将$ _POST值写入pdf
我有一个用于数据库写入的脚本,它可以自行运行。我有另一个写入PDF的脚本,它本身也可以正常工作。
但是,当我尝试在另一个函数的末尾调用一个函数时,提交操作只执行其中一个操作。我该如何解决这个问题。我希望我的按钮执行store.php和makepdf.php
目前,我只能在表单的操作标记中指定一个表单。
编辑:我在这里添加脚本。
这是我的store.db文件(连接长度限制):
<?php
$dbhost = 'localhost';
$dbuser = '';
$dbpass = '';
// GET ALL THE VARIABLES FROM THE FORM
$FirstName= $_POST['firstname']?$_POST['firstname']:'0';
$LastName= $_POST['lastname']?$_POST['lastname']:'0';
$Email= $_POST['email']?$_POST['email']:'0';
$idn= $_POST['idn'];
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$sql1 = "INSERT INTO borrower(FirstName,LastName,Email,ssn) VALUES('".$FirstName."','".$LastName."','".$Email."','".$idn.");
mysql_select_db('db');
$retval1 = mysql_query( $sql1, $conn );
}
//Test successs
//echo "Successful"
?>
这是我的makepdf.php:
<?php
function pdfMaker() {
include('fpdf/fpdf.php');
include('fpdi/fpdi.php');
$FirstName;
$LastName;
$Email;
$IDNumber;
// initiate FPDI
$pdf =& new FPDI();
// add a page
$pdf->AddPage();
// set the sourcefile
$pdf->setSourceFile('rcpp1.pdf');
// import page 1
$tplIdx = $pdf->importPage(1);
// use the imported page as the template
$pdf->useTemplate($tplIdx, 0, 0);
// now write some text above the imported page
$pdf->SetFont('Times', '', 9);
$pdf->SetTextColor(0,0,153);
// Top Left stuff
$pdf->SetXY(9, 38);
$pdf->Write(0, $Firstaname.$LastName.$Email.$IDNumber);
$pdf->Output(($Firsname."_".$Lastname.'file.pdf'), 'D');
}
pdfMaker();
?>
这是我的表格:
<form class="form-horizontal" method="post" action="">
<fieldset>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="firstname">First Name</label>
<div class="col-md-4">
<input id="firstname" name="firstname" type="text" placeholder="" class="form-control input-md">
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="lastname">Last</label>
<div class="col-md-4">
<input id="lastname" name="lastname" type="text" placeholder="" class="form-control input-md">
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="email">Email</label>
<div class="col-md-4">
<input id="email" name="email" type="text" placeholder="" class="form-control input-md">
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="idn">ID#</label>
<div class="col-md-4">
<input id="idn" name="idn" type="text" placeholder="" class="form-control input-md">
</div>
</div>
</fieldset>
</form>
同样,当我将php脚本添加到表单中的action标记时,每个函数都单独使用。但是如果尝试将一个函数添加到另一个脚本或从另一个脚本调用它,它只执行一个并停止。
答案 0 :(得分:0)
<form action="/uri" >
吗?
<form action="/path/to/do_two_things.php" >
怎么样?
或
<form action="/path/my_form_handler.php">
<input type="submit" name="dowhat" value="Do action A" />
<input type="submit" name="dowhat" value="Do action B" />
</form>
<?php
if ($_POST['dowhat'] == "Do action A") {
// something
// even more than one thing
} else {
// something else
// etc
}
?>
答案 1 :(得分:-1)
只需在PHP中包含另一个中的一个脚本:
在store.php
脚本中尝试此操作:
include("makepdf.php");
仅供参考,你也可以从另一个脚本中调用一个脚本,但你需要传递post params和文件名,如下所示:
file_get_contents("makepdf.php?param1=".$_POST['param1']."¶m2=".$_POST['param2']);