ein Schritt zurück

quidnovi

Erfahrenes Mitglied
Hi Fangemeinde

Hab' ein Kontaktformular gebastelt, in dem einige Felder ausgefüllt werden müssen . Hat jetzt jemand ein Feld ausgelassen, erscheint eine Fehlermeldung und das Formular wird nicht weiterverarbeitet.
Wenn dieser jemand nun auf "Zurück" links oben (unter Datei - microschrott) klickt, hüpft er in das Eingabeformular, in dem noch alle von ihm eingegebenen Daten vorhanden sind. Kann man das auch mit einem Button im Formular selbst machen, oder muß ich nun schwer proggen, daß ich das gleiche Ergebnis habe?
Habe natürlich schon auf das Eingabeformular mittels Button verlinkt, die Daten sind aber futsch - eh klar.

Hat vielleicht jemand eine Idee?

mfg
 
dein formular gibt alle felder mit dem globalen $_POST[] array an deine verarbeitungsseite weiter. im endeffekt brauchst nur ne weiterleitung (nen link oder nen formularbutton) basteln, der den user wieder zum formular selbst schickt, aber dabei das komplette $_POST[] array mitschickt.

am einfachsten geht das mit nem formular auf der seite, die den fehler ausgibt.

im eigentlichen formular musst du nun nur noch auf das neuere post array reagieren. das geht relativ einfach mit ner if() bedingung. ein Beispiel:

Auf der Fehlermeldungsseite:

PHP:
echo "<form method=\"POST\" action=\"normalesformular.php\">";

foreach($_POST as $key=>$elem) {
    echo "<input type=\"hidden\" name=\"".$key."\" value=\"".$elem."\" />";
}

echo "<input type=\"submit\" name=\"submit\" value=\"Zurück\" />";

Auf der ursprünglichen Seite

PHP:
// Für jedes Feld musst du nu was eigenes basteln:

echo "<input type=\"text\" name=\"name\" ";

if(isset($_POST['submit']) && $_POST['name'] != "") {
    echo "value=\"".$_POST['name']."\"";
} else {
    echo "";
}

echo " />";

Einfacher ginge das Ganze natürlich mit einer Formularklasse, aber ich kann / will dir nu keine ganze Klasse hier reinschreiben :D Falls noch Fragen bestehen, poste die einfach
 
morning

Vielen Dank subsimplex für Deine Antwort.

So, nachdem ich in wiederholter Folge auf Klassen, Instanzen, Objekte und derlei Dinge stoße, habe ich mich nun dazu durchgerungen, die objektorientierte Programmierung anzugehen. Wünsche mir dazu viel Spass :-)

mfg
 
Zuletzt bearbeitet:
Ich würde da mit session arbeiten um die Variabeln zu speichern.
Dann kann man auch sicherstellen das der richtige die richtigen Daten hat. (mehrere füllen zur gleichen Zeit das Formular aus)
 
Hi MickyMouse

Dieser Gedanke ist mir ebenfalls schon durch den Kopf gegangen. Nun heißt es wirklich schwer proggen ;)

Danke für Dein post
 
Zurück