I have a form that submits to a php script which I would like to do the following:
- capture the user input via POST (done)
- send me an email with the user's details (done)
- start downloading a PDF from the same directory as the .php file (test.pdf) - HELP!
EDIT: FYI, I am calling the php via jquery:
$.ajax({
type: "POST",
url: php_url,
data: $('#popForm').serialize(),
success: function(){
window.location.href = 'downloadpdf.php?file=test.pdf';
}
})
Here is the php code that captures the user input via POST and sends it to me via email. I just need a section that does #3, above.
<?php
$email_PGi = "me@mail.com";
$email_subject = "some email subject";
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email_message = "The following is a new message received via the website:\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($firstname)."\n";
$email_message .= "Last Name: ".clean_string($lastname)."\n";
// create email headers
$headers = 'From: '.$biz_email."\r\n".
'Reply-To: '.$biz_email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_PGi, $email_subject, $email_message, $headers);
?>
downloadpdf.php
<?php
$file = $_GET['file'];
header('Content-Type: Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Content-Length: ' . $file);
readfile($filename);
die();
?>