Hallo!
Folgende Situation:
Es geht um ein mehrseitiges Kontaktformular. Der Nutze gibt also auf einer Seite seine Daten ein, klick auf Weiter, gelangt auf die nächste Seite, gibt seine Daten ein, etc.
Die Daten werden in einer Datenbank zwischen gespeichert, von Seite zu Seite wird nur eine SessionID per verstecktem Formfeld weitergegeben.
Auf der letzten Seite kommt es nun zu einem Problem:
Alle Daten wurden gesammelt und werden nun auf der letzten Seite noch mal angezeigt. Per Klick auf "Antrag absenden" wird das Ganze dann abgeschlossen.
Problem: Das Script an dass die Daten letztendlich gesendet werden sollen, hängt davon ab, welche Daten der Nutzer zuvor eingegeben/eingestellt hat. Es gibt also nicht ein festes Ziel, sondern mehre mögliche Ziele.
Bislang habe ich das so gelöst, dass alle eingegebenen Daten auf der letzten Seite als versteckte Formfelder hinterlegt werden, und das Ziel des Form entsprechend der Eingaben auf das Zielscript eingestellt wird. Klick der Nutzer auf "Antrag absenden", werden die Daten also an das richtige Script gesendet und dort verarbeitet. Der Nutzer sieht dann die Ausgabe des jeweiligen Scriptes...
Diesen Umweg finde ich nicht so elegant und da immer wieder neue Ziele hinzukommen ist er wenig praktisch. Ich würde ganze daher gerne so handhaben:
1. Keine versteckten Fehler (außer SessionID) auf letzter Seite
2. Daten werden auf letzter Seite wie zuvor an kontakt.php gesendet
3. kontakt.php entscheidet an welches Zielscript die Daten gesendet werden sollen
4. kontakt.php leitet den Nutzer zum Zielscript um und sende die Sessiondaten per POST mit
5. Das Zielscript verarbeitet die Daten und der Nutzer sieht die Ausgabe des Zielscriptes
Problem:
Ich weiß wie, wie ich den Nutzer weiterleite kann (header("Location: ziel.php") und wie ich aus einem PHP Script Daten an ein anderes Script poste (Socket öffnen, Header senden, etc.). Aber ich weiß nicht, wie ich das gleichzeitig tun kann.
Wie sende ich bei einer Weiterleitung POST-Daten mit? Geht das überhaupt?
Bei header("Location: ziel.php"); kann ich keine POST-Daten angeben (oder doch?).
Beim POST mit dem Script baut das Script eine Verbindung zu dem Zielscript auf, und nicht der Browser des Nutzers. Die Ausgabe des Zielscriptes landet also beim script unt nicht beim Nutzer...
Hat jemand eine Idee wie ich das lösen kann?
Die Daten per GET an die Zielscript zu senden ist leider keine Lösung. Ich kann die Schnittstelle der Zielscript nicht beeinflussen und die Mehrzahl nimmt die Daten nur per POST entgegen...
Besten Dank
Ares