Post übergeben
mixmastertobsi
- php
Hallo,
ich versuche verzweifelt über header Post-Variabeln zu übergeben.
Folgendes Szenario:
Ein PHP Script auf meinem Server soll Daten verarbeiten. Anschließend soll der User auf eine andere Seite weiter geleitet werden. Dabei sollen per POST variabeln übergeben werden.
per Header wäre die weiterleitung am eleggantesten...aber wie übermittle ich da noch POST VARIABELN
Hi,
ich versuche verzweifelt über header Post-Variabeln zu übergeben.
nur gut, dass du dein Vorhaben nochmal ausführlicher beschreibst. Anhand dieses Satzes hätte ich keinen Schimmer gehabt, was du wirklich anstellen willst.
Ein PHP Script auf meinem Server soll Daten verarbeiten. Anschließend soll der User auf eine andere Seite weiter geleitet werden. Dabei sollen per POST variabeln übergeben werden.
Das geht nicht. Woher soll der Browser diese POST-Daten haben? Mach dir bitte klar, wie so eine "Weiterleitung", ein Redirect funktioniert:
Der Client (Browser) schickt einen Request ab, idR als GET-Request, und wartet auf die Antwort. Der Server bearbeitet den Request, schickt als Antwort einen HTTP-Responseheader mit dem Status 301 oder 302 und der Angabe, wo die gewünschte Information stattdessen zu finden ist. Das Ziel der Weiterleitung fordert der Client nun in einem zweiten, ganz normalen GET-Request an.
per Header wäre die weiterleitung am eleggantesten
Nein. Elegant wäre aber vielleicht, die Daten in einer Session zu speichern, so dass sie dem Zielscript sie nach dem Redirect zur Verfügung stehen. Elegant wäre auch, gar keine Weiterleitung zu nutzen, sondern die Verarbeitung komplett in einem Script (und damit auch in einem Request-Response-Zyklus) zu machen.
So long,
Martin
Vielleicht gehe ich noch etwas ins Detail!
wir betreiben einen Online-Shop. Der Kunde drückt auf bestellen. Das Formaular wird abgesandet und in einem Skript verarbeitet. Nun soll geprüft werden, ob der Kunde Vorkase oder Kreditkarte gewäht hat. Wenn Kreditkarte gewählt wurde, müssen die Daten (Name, Gesamtbetrag etc.) per POST zu dem Payment-Anbieter gesandt werden.
Ich hoffe, mein Problem ist klar und verständlich beschrieben.
Mahlzeit mixmastertobsi,
Das Formaular wird abgesandet und in einem Skript verarbeitet.
Ich gehe mal davon aus (da Du das ja verschwiegen hast), dass es sich um ein PHP-Skript handelt ... falls nicht, musst Du Dich auf die Suche nach geeigneten Vorlagen für die von Dir verwendete Sprache machen.
Wenn Kreditkarte gewählt wurde, müssen die Daten (Name, Gesamtbetrag etc.) per POST zu dem Payment-Anbieter gesandt werden.
Irgendwie erinnert mich das ansatzweise an einen anderen Thread ...
Wenn Du Dir die Mühe machen würdest, die Forumssuche mit geeigneten Suchbegriffen zu füttern, hättest Du schon längst ein Ergebnis: http://forum.de.selfhtml.org/archiv/2009/2/t182775/
MfG,
EKKi
Hallo EKKi,
Ich gehe mal davon aus (da Du das ja verschwiegen hast), dass es sich um ein PHP-Skript handelt
er hat seine ursprüngliche Frage im Themenbereich PHP plaziert, das sollte Hinweis genug sein.
Irgendwie erinnert mich das ansatzweise an einen anderen Thread ...
Die Ähnlichkeit des Themas und der Beschreibung ist frappierend. Seltsam nur, dass der Thread schon im Archiv ist, obwohl er gerade erst von gestern nachmittag ist, also noch taufrisch.
Ciao,
Martin
Hallöle!
Die Ähnlichkeit des Themas und der Beschreibung ist frappierend. Seltsam nur, dass der Thread schon im Archiv ist, obwohl er gerade erst von gestern nachmittag ist, also noch taufrisch.
Das liegt daran, dass ich auch nicht immer allen alles kommuniziere, was ich kommunizieren müßte - EKKi habe ich geschrieben, den Moderatoren nicht, Schande über mich! Der OP des archivierten Threads hatte um Löschung gebeten, weil er seine Mailadresse angegeben hat und nun nicht wollte, dass die zugespamt wird. Ich hab's dann halt archiviert, dabei wird die Mailadresse dann ja gelöscht.
File Griese,
Stonie
Mahlzeit Stonie,
EKKi habe ich geschrieben,
Oha ... Tatsache - Post von Stonie! (Ich sollte meinen "vermutlich Spam"-Ordner ab und zu auch mal durchsehen ...)
MfG,
EKKi
Moinsen,
Oha ... Tatsache - Post von Stonie! (Ich sollte meinen "vermutlich Spam"-Ordner ab und zu auch mal durchsehen ...)
*hehehehe* Jaja, das kommt schon mal vor, im Gedränge. Du bist auch nicht der erste, dem das passiert... ;o)
File Griese,
Stonie
Hi,
Vielleicht gehe ich noch etwas ins Detail!
das erweist sich als notwendig. :-)
wir betreiben einen Online-Shop. Der Kunde drückt auf bestellen. Das Formaular wird abgesandet und in einem Skript verarbeitet. Nun soll geprüft werden, ob der Kunde Vorkase oder Kreditkarte gewäht hat. Wenn Kreditkarte gewählt wurde, müssen die Daten (Name, Gesamtbetrag etc.) per POST zu dem Payment-Anbieter gesandt werden.
So, also an einen Fremdserver. Dann ist natürlich mit Sessions nichts zu machen.
Ich sehe zwei Möglichkeiten.
1. Setzt euch mit dem "Payment-Anbieter" in Verbindung und fragt, ob es nicht eine einfache Rohdaten-Schnittstelle (nicht HTML) gibt, mit der man a) die Zahlungsdaten übermitteln und b) das Ergebnis abrufen kann (also ob die Zahlung wirklich in Ordnung ist oder nicht). Möglicherweise hat der Anbieter schon eine derartige Schnittstelle.
Die Client-Seite dieser Schnittstelle müsstet ihr in eurem Shop-Script implementieren.
2. Falls 1. nicht geht, müsstet ihr von eurem Shop-Script einen regulären HTTP-POST-Request an den Payment-Anbieter absetzen, das zurückkommende HTML parsen und die Ergebnisdaten da rausfischen. Vom Prinzip her ist diese Lösung der erstgenannten ähnlich, nur dass das Response-Format HTML ist und für den aktuellen Zweck viel "Ballast" enthält (den der Anbieter auch noch jederzeit ändern könnte).
In jedem Fall halte ich es für eine schlechte Idee, den Kunden mit einem Redirect weiterzureichen, denn dann ist er erstmal "weg" von eurer Site. Das wäre nicht schön; eleganter ist es doch in jedem Fall, wenn direkt im Shop als letzter Schritt angezeigt wird: Vielen Dank, wir haben Ihre Zahlung erhalten.
Ciao,
Martin
Hallo!
wir betreiben einen Online-Shop. Der Kunde drückt auf bestellen. Das Formaular wird abgesandet und in einem Skript verarbeitet. Nun soll geprüft werden, ob der Kunde Vorkase oder Kreditkarte gewäht hat. Wenn Kreditkarte gewählt wurde, müssen die Daten (Name, Gesamtbetrag etc.) per POST zu dem Payment-Anbieter gesandt werden.
Dazu wird der Payment-Anbieter Dir eine Schnittstelle anbieten (müssen) - wie sieht diese aus?
Ciao
GG
hi,
per Header wäre die weiterleitung am eleggantesten
Nein. [..]
Ja.
Elegant wäre aber vielleicht, die Daten in einer Session zu speichern,
Ja.
Oder: Die weniger wichtigen Daten in der Redirected-URL unterbringen.
if($_POST['signin'] || $_POST['nick']){
header("Location: $url?metadaten=kiss+me");
}
Horst Pfiffig