2012-09-11 85 views
1

我有一個簡單的下載表單並提交我希望用戶能夠下載PDF並在同一時間打開一個感謝頁面。提交打開thankyou.html +下載PDF

我嘗試使用window.open和幾個PHP方法(頭文件)。雖然PHP方法正在完成彈出下載pdf屏幕的工作,但該頁面並未重定向到感謝頁面。

任何人都可以幫助任何與JS或PHP?

我對任何一個都不是那麼瞭解 - 如果您能分享整個代碼,我將非常感激。謝謝! :)

回答

1

你需要3個文件:

  1. 您具有表單頁面文件:
    <form action="thanks.php" id="form" method="POST"><!-- your form content and a submit button here--></form>

  2. 一個thanks.php網頁,將有一個:
    <iframe src="download_pdf.php" style="display:none;" />

  3. 並最終創建一個download_pdf.php頁:
<?php 
$file = 'filename.pdf'; 
if(!file){ 
    die('Error: file not found'); 
}else{ 
    header("Cache-Control: public"); 
    header("Content-Description: File Transfer"); 
    header("Content-Disposition: attachment; filename=$file"); 
    header("Content-Type: application/pdf"); 
    header("Content-Transfer-Encoding: binary"); 
    readfile($file); 
} 
?> 
0

在將任何其他內容發送到瀏覽器之前,您只能使用header()進行PHP重定向。一旦頁面加載完畢,你需要使用JS。這對於JS來說很簡單:

window.location = "http://example.com"; 

但是,我會問一次加載兩個窗口。顯示Thank You頁面並提供一個鏈接,他們可以在該頁面上查看/下載PDF。

0

其實用戶不應該重用感謝頁面的URL重複下載PDF文檔,這將有悖於擺在首位用戶信息的目的。因此,在可以顯示下載的感謝頁面中需要暫停。但請檢查一下,看看你是否可以用彈出窗口來掩飾謝謝你的網頁的URL。