Formular nach Validierung von anderer Seite weiterverarbeiten lassen

robotex

Grünschnabel
Hallo Leute!

Sorry, das ich gerade beim ersten Post was Frage, aber ich habe ein kleines Problem. Es geht um folgendes:

Ich habe eine HTML/PHP Datei mit einem Affenformular. Wenn der OK-Button gedrückt wird, werden die Daten validiert ( if(isset($submit)).....etc. ).

Wie kann ich die Daten nach der Validierung an eine andere Seite weitergeben, damit Sie dort weiterverarbeitet werden?

Vielen Dank schonmal!

MfG,

Robotex

P.S.: Ja, ich hab' schon bei http://www.google.de, auf anderen PHP Seiten und hier im Forum gesucht...wenn ich da was übersehen hab', bitte ich um Entschuldigung...
 
Hi,

du machst einfach deine IF-Abfrage weg und im FORM Tag deines Formualrs machste action="weiterephpdatei.php"

Code:
<form name="form1" method="post" action="weiterephpdatei.php">
  <input type="text" name="textfield">
</form>

und wen Du Daten, also Bilder oder FIles mit übertragen möchtest musste den hier noch einbinden
Code:
enctype="multipart/form-data"

oder Du benutzt den Befehl header('location:index.php');
 
Danke für die Superschnelle Antwort. Aber ich glaube, ich habe mich nicht richtig ausgedrückt.....ich versuch's nochmal ;-)

Wenn ich die Validierung aber erst in der nächsten Datei machen lasse, dann kann ich den Benutzer ja nicht automatisch wieder zurück auf's erste Formular schicken, wenn die Daten nicht vollständig oder fehlerhaft sind, es sei denn ich benutze die header(Location:)-Funktion, aber dann sind ja alle Formularfelder leer, und man muss alles neu eingeben :-(

Im Grunde geht's darum, dass ich mehrere Formulare hintereinander habe, die jeweils die Daten vom letzten Formular brauchen, um generiert zu werden. Die Daten müssen vor jedem Formular geprüft werden und es soll möglich sein, wenn die Eingabe nicht korrekt war, den Benutzer automatisch wieder mit dem Formular zu konfrontieren, was er nicht richtig ausgefüllt hat *ohne* die restlichen Eingaben zu verwerfen.

Mein Problem besteht darin, dass ich nicht alles gleichzeitig machen kann:

Entweder ich mache ein Affen-Formular draus und die Validierung funktioniert wunderbar (mit Anzeige der fehlenden Felder). Ich kann aber die Daten dann nicht automatisch an die nächste Seite weitergeben.

Oder ich gebe als action-Parameter das nachfolgende Script an, kann aber, wenn die Validierung fehlschlägt, nicht wieder zurück zum vorherigen Formular, weil dann die Daten, die Korrekt waren, nicht übernommen werden und der Benutzer dann alles neu eingeben muss :-(

Gruss und Danke,

Robotex
 
Original geschrieben von robotex
Mein Problem besteht darin, dass ich nicht alles gleichzeitig machen kann:
Doch, das ganze ist nur ein wenig trickreich ;)

Ich versuchs mal zu erklären:

Du erstellst eine Datei, die für die Formularausgabe verantwortlich ist. In dieser fragst Du einfach ab, welches Formular Du anzeigen willst (und includest einfach das entsprechende Formular). Und an diese Datei postest Du immer dein Formular. Dann erstellst Du in einzelne Include-Dateien für deine verschiedenen Formulare. Zusätzlich legst Du für alle Werte, die Du in den Formularen hast, Hidden-Fields an. Außerdem eine eindeutige Kennung für jedes Formular, damit Du weißt, welches Formluar gerade angezeigt wird und welches Du nun validieren willst.

Wenn Du jetzt ein Formular an das externe PHP-Script postest und da die Daten validierst, schickst Du den Besucher - sofern alle Daten richtig sind - aufs nächste Formular, packst hier alle Daten von allen Formularen in deine Hidden-Fields und machst das ganze für all deine einzelnen Formular so weiter. Du musst also alle Werte von Formular zu Formular durchschleifen. Ist jetzt nun bei der Validierung ein Fehler aufgetreten, schickst Du den Besucher eben wieder zum gleichen Formluar und kannst da alle Formular-Elemente vorausfüllen. Du könntest somit auch ein Formular überspringen, wenn der Besucher z.b. beim letzten Formluar merkt, dass er beim ersten Formluar eine fehlerhafte Eingabe hatte.

Ich hoffe Du hast es verstanden, ist eigentlich ganz logisch. Als alternative hast Du natürlich noch die Möglichkeit, das ganze mit einer Datenbank umzusetzen.
 
Das mit den Hidden-fileds hatte ich mir auch überlegt, jedoch fällt das raus, weil die Daten, die dann bei der Weitergabe von einem Hidden-field zum nächsten manipuliert werden können :-(

Fällt also raus.

Das mit der DB ist aber eine gute Idee und ich denke, dass mir nichts anderes übrig bleiben wird, als es damit umzusetzen. Scheint auch insgesamt am sichersten zu sein.

Vielen Dank für den Tipp! :)

Gruss,

Robotex
 
Original geschrieben von robotex
Das mit den Hidden-fileds hatte ich mir auch überlegt, jedoch fällt das raus, weil die Daten, die dann bei der Weitergabe von einem Hidden-field zum nächsten manipuliert werden können :-(
Nein, das geht nicht. Nur allein dein Validierungs-Script füllt die Hidden-Fields. Und die Inhalte stammen immer aus $_POST-Variblen, können also nicht manipuliert werden.

Original geschrieben von robotex
Das mit der DB ist aber eine gute Idee und ich denke, dass mir nichts anderes übrig bleiben wird, als es damit umzusetzen. Scheint auch insgesamt am sichersten zu sein.
Na ja, wie heißt es ja immer: viele Wege führen nach Rom :)

Original geschrieben von robotex
Vielen Dank für den Tipp! :)
Keine Ursache :)
 
Zurück