PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Formular absenden beim laden einer Seite (http://www.selfphp.de/forum/showthread.php?t=10557)

juergen 20.05.2005 20:42:25

Formular absenden beim laden einer Seite
 
Hallo Forum,

ich habe folgendes Problem:
In einem Shop wird im Bestellvorgang zuletzt die Rechnungsseite mit Bestellbestätigung angezeigt. Weiter befindet sich auf dieser Seite bislang ein Button mit dem ich ein Formular zu einer PDF-Classe absende die mir in einem sich öffnendem Fenster die besagte Rechnung als PDF-Datei anzeigt.

Das funktioniert auch super gut. Nun möchte ich das beim Laden der Rechnungsseite das PDF-Erzeugungsformular automatisch abgesendet wird sodas die PDF-Datei schon fertig ist und nicht noch erst erzeugt werden muss. Das hätte den Vorteil das ich die PDF-Datei mit der Bestätigungsmail die ebenfalls beim Aufruf der Rechnungsseite erzeugt und versand wird, anhängen kann. Die PDF-Classe ist so flexibel das beim erzeugen (Absenden des Formulares) entweder eine PDF-Datei im Browser angezeigt oder aber in einem Verzeichnis abgelegt werden kann.
Diese letztere Möglichkeit will ich nutzen und nur noch einen Link in der Rechnungsseite zur PDF-Datei einbauen.

Mein Formular hat 15 hidden Felder mit unterschiedlich viel Text.

Meine Frage:
Wie sende ich ein Formular mit laden einer Seite ab ohne das ich den submit Button betätige?

Für Eure Hilfe schon jetzt ein dickes Danke.

Gruß Jürgen

xabbuh 20.05.2005 22:10:19

AW: Formular absenden beim laden einer Seite
 
Zitat:

Zitat von juergen
Mein Formular hat 15 hidden Felder mit unterschiedlich viel Text.

Diese Daten werden ja irgendwo herkommen (zum Beispiel aus einer Datenbank). Jetzt kannst du die PDF-Klasse ja ganz einfach zu Beginn deines Scripts mit include() einbinden. Den generierten Link lässt du dann anschließend anzeigen.

juergen 21.05.2005 12:15:08

AW: Formular absenden beim laden einer Seite
 
Hallo xabbuh,

allein die Tatsache das ich die Datei include löst mein problem nicht! Sie wird nicht aufgerufen bzw. abgearbeitet. Ich habe versucht mit fopen die Datei abzuarbeiten, hatte aber kein Erfolg.
PHP-Code:

$rechnung_file "pdf_host/rechnung.php";
$handle fopen($rechnung_file"rb");
fclose($handle); 

Hast Du eventuell noch eine Idee?
Danke für Deine Hilfe
Gruß Jürgen

Esco 21.05.2005 12:19:32

AW: Formular absenden beim laden einer Seite
 
Wie kommst du auf die Bestätigen seite?

Kannst du es nicht in ein Formular stecken, dass wenn du auf die Bestätigenseite gehst die sachen über einformular übergeben werde und dann der pdf erzeugt wird?!

juergen 21.05.2005 12:29:21

AW: Formular absenden beim laden einer Seite
 
Hallo Esco,

mein Problem ist es nicht die Daten der PDF-Classe zu übergeben sondern das Formular beim laden der Rechnungsseite zu automatisieren. Es soll sozusagen zwei Seiten gleichzeitig geladen werden. Als sichtbare Seite die Rechnungsseite und gleichzeitig die PDF-Classe (rechnung.php). Letztere soll aber nicht aufpopen sondern nur im Hintergrund ausgeführt werden! Wie z.B. die Mail Funktion!!

Danke für Deine Hilfe
Gruß Jürgen

dachris 21.05.2005 13:33:03

AW: Formular absenden beim laden einer Seite
 
Geht nur mit include....

du musst halt dein Script so anpassen, das es nix ausgibt....

juergen 21.05.2005 14:13:19

AW: Formular absenden beim laden einer Seite
 
Hallo Forum,

habe das Problem mit fopen gelöst!
PHP-Code:

$rechnung_file "http://localhost/shop/pdf_host/rechnung.php?data_a=$kundendaten[vorname]"
//kann beliebig erweitert werden mit &data_b=$kundendaten[nachname] usw.
$handle fopen($rechnung_file"rb");
fclose($handle); 

Die Variablen werden mit $_GET in der rechnung.php aufgenommen und super verarbeitet.

Aber nun noch ein anderes Problem:

Ich gebe den Vor- und Nachnamen des Kunden als Dateinamen aus und dieser kann natürlich Umlaute oder leerzeichen besitzen. Wie kann ich die Umlaute von ü,ä,ö nach z.B. ue,ae,oe konvertieren und die Leerzeichen elemenieren?

Danke für Eure Hilfe
Gruß Jürgen

Jürg 21.05.2005 14:19:25

AW: Formular absenden beim laden einer Seite
 
Der Ansatz dazu:
PHP-Code:

//Wandelt einige Sonderzeichen um
 
$dateiname1 strtr("$dateiname"" äöüß""_aous") ; 


xabbuh 21.05.2005 21:58:07

AW: Formular absenden beim laden einer Seite
 
Wie wäre es wenn du dafür rawurlencode() nimmst?

juergen 22.05.2005 11:46:17

AW: Formular absenden beim laden einer Seite
 
Hallo Jürg,

das war schon mal ganz gut aber es werden nur einzelne Buchstaben ersetzt.
z.B. Aus ö wird o es soll aber aus ö -> oe und aus ß -> ss usw. werden!
Zitat:

Zitat von Jürg
Der Ansatz dazu:
PHP-Code:

//Wandelt einige Sonderzeichen um
 
$dateiname1 strtr("$dateiname"" äöüß""_aous") ; 


Fällt jemandem noch was dazu ein?

Hallo xabbuh,

mit rawurlencode() sieht die Sache nicht gut aus und es kommen nicht alle Browser mit zurecht. Anschließend will ich die PDF-Datei auch noch an eine Mail anhängen und versenden. Da sind Probleme mit %20 o.ä. vorprogrammiert.

Danke für die Hilfe
Grußss Jürgen


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:10:10 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.