1

フォームと送信ボタンのある html ページがあります。

[送信] をクリックすると、fpdf のおかげですべてのフォーム データが pdf に変換されます。この pdf は問題なく私のメールに送信されます。

この小さなページの構築は常に問題なく機能し、次のコードで問題なくユーザーをサンキュー ページにリダイレクトすることができました。

header("Location: /thank-you.php",303);
exit();

PDFファイルの保存を実装するとすぐに、最終的なリダイレクトが機能しなくなりました。

fpdfで簡単にpdf保存を実装しました:

$pdf->Output("filename.pdf", "D");

そして、stackoverflow とすべてのインターネットを読んで、2 つのヘッダーを送信できないことを理解しました。

javascriptで問題を解決しようと思ったので、pdf生成後に入れました

echo "<script language=javascript>
window.location = 'thanks.html'
</script>";

しかし運がない。

ブラウザがpdfファイルをダウンロードすると、phpページは単に「停止」します。

これを解決するチャンスはありますか?

編集:

私が得たすべての提案(皆さんに感謝します)は、私を同じポイントに導きます:ありがとうページを使用してPDFの保存を処理します。私には素晴らしいですね。

シンプルな $pdf->Output(); で thankyou.php ページを準備してみました。初期化。それはうまくいきませんでした...だから私は私のcreate.phpにインクルードを使うことを考えました(すべての魔法が起こる場所:pdfの作成、電子メールの送信、dbへの挿入など):

<?php
include("create.php");
$pdf->Output();
?>

まだ運がありません。

私の考えの何が問題なのですか?

4

3 に答える 3

3

これは逆にアプローチする必要があります。

ユーザーを感謝ページに送り、その感謝ページで$pdf->Output(). それはあなたが望むことをするはずです。

于 2012-08-27T16:18:01.870 に答える
3

Webpages/HTTP は要求応答システムです。ブラウザーは1 つの要求を送信し、それに対する応答は1 つだけです。PDFとリダイレクト、または PDFJavascriptで応答することはできません。

通常は、最初にサンキュー ページを表示し、次にこのページ内で Javascript を使用してファイル ダウンロードにリダイレクトします。そうすれば、ページは維持され、ファイルがダウンロードされます。

于 2012-08-27T16:18:11.380 に答える
1

thank-you.php に PDF ファイルを送信させることができます。フォームを送信した後、ユーザーをサンキュー ページに送信すると、サンキュー ページからユーザーに PDF ファイルが送信されます。このようにして、サンキュー ページが表示され、PDF ファイルをダウンロードした後もページが表示されます。

于 2012-08-27T16:20:45.613 に答える