Script weiter laufen lassen

droni

Erfahrenes Mitglied
Hallo,

ich erzeuge mit dompdf eine PDF-Datei die dann zum Download angeboten wird.
Kann man es irgendwie machen, dass er dann anschließend auf eine andere
z.B. Danke-Seite geht? So bleibt die Seite da stehen wo man gerade ist.
Wenn ich <meta http-equiv=\"refresh\".... darunter setze wird das nicht ausgeführt.
Ich vermute mal, dass das Script nach der PDF ausgabe gestoppt/ beendet wird.

THX
droni
 
Ohne deinen Code zu kennen kann man schlecht sagen was du ändern musst!

Eventuell hilft aber:
PHP:
header("Location:andere_seite.php");

Einfach mal diese Funktion anschauen und testen was damit passiert.
 
Also das Ganze sieht so aus:

PHP:
<PHP und MYSQL kram um die Infos für das PDF zusammen zu suchen>

....

        $pdfname = "test";
	$dompdf = new DOMPDF();
	$dompdf->load_html($html);
	$dompdf->set_paper("a4", 'portrait');
	$dompdf->render();
	$dompdf->stream($pdfname);
	$dompdf->stream("my_pdf.pdf");

     header("Location:andere_seite.php");

Der PDF Kram werkelt soweit. Die Sache mit dem Header leider nicht :(


Edit: $dompdf->stream("my_pdf.pdf"); schickt das fertige PDF als download an den Browser.
 
Zuletzt bearbeitet:
PHP:
//$dompdf->stream("my_pdf.pdf");

$pdf = $dompdf->output();
file_put_contents("my_pdf.pdf", $pdf);

header("Location: http://www.google.de");

Damit wirst du jetzt zwar weitergeleitet, dafür wird die Datei aber auch direkt gespeichert (natürlich auf dem Server)!

Wenn du "stream" verwendest, geht es definitv nicht!
 
Erstmal Danke für deine Bemühungen!

Jo, das funktioniert soweit. Haken an der Sache nur.... die Datei soll ja nicht auf dem Server gespeichert werden.
Das mit dem Download-Fenster ist ja richtig.
Hintergrund ist, dass ein potentieler Kunde sich auf der Webseite ein Angebot kalkulieren kann.
Zum Schluss bekommt er das Angebot dann als PDF zum Download. Soweit klappt das ja auch. Nur dass danach halt irgend eine Danke-Seite kommen soll.
 
Ok, vielleicht nicht schön aber es geht und zwar mit 2 Dateien.

Datei 1: Sie enthält den HTML Code bzw. das was als Meldung angezeigt werden soll und einen IFRAME mit width/height = 0, also unsichtbar.

HTML:
<h1>Meldung die ausgeben wird</h1>
<iframe src="pdf_frame.php" width="0%" height="0%"></iframe>

Datei 2: Hat im Beispiel den Namen "pdf_frame.php". Sie enthält den Code mit dem die PDF Datei erstellt wird und dann noch die header-Anweisung um die so erzeugte Datei lokal zu speichern.

PHP:
<?php
header("Content-Disposition: attachment; filename=pdf_datei.pdf");

require_once("../dompdf/dompdf_config.inc.php");

$pdfname = "test";
$dompdf = new DOMPDF();

$html = '<b>Das hier steht in der PDF Datei</b><br />Sie sollte nicht auf dem Server gespeichert werden!';

$dompdf->load_html($html);
$dompdf->set_paper("a4", 'portrait');
$dompdf->render();
$pdf = $dompdf->output();

echo $pdf;
?>

Kannst es ja mal testen ob das deiner Vorstellung entspricht!
 
Zurück