У меня есть форма, что представлять я хочу, чтобы сделать две вещи: значения 1) хранить в базе данных 2) написать $ _POST значения в формате PDFКак подать кнопку «отправить» более одного действия в php?
У меня есть сценарий для базы данных записи, и это работает самостоятельно. У меня есть другой сценарий для записи в PDF, и он тоже отлично работает сам по себе.
Однако, когда я пытаюсь вызвать одну функцию в конце другого, действие submit выполняет только одно из действий. Как я могу это решить. Я хотел бы, чтобы моя кнопка выполняла как store.php, так и makepdf.php
В настоящее время я могу указать только одну форму в теге действия моей формы.
EDIT: Я добавляю скрипты здесь.
Вот мой файл 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 в тег действия в форме, каждая функция отлично сортируется. Но если попытаться добавить одну функцию в другой скрипт или вызвать ее из другой, она только выполняет одну и останавливается.
Не будучи в состоянии видеть ваш код, мы можем только догадываться .... которые мы не делаем очень хорошо. –
Shoul Включаю все три скрипта? – Tendi
формы могут подавать только на один URL-адрес за раз. почему вы хотите, чтобы кнопка «Отправить» выполняла две разные вещи? разве дело не в том, какова форма представления? тривиально, чтобы этот скрипт был ' php job1(); job2(); ?> ' –