phpbar.de logo

Mailinglisten-Archive

[php] Formular mehrmals aufrufen, bis o.k.

[php] Formular mehrmals aufrufen, bis o.k.

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Die Feb 22 12:57:12 CET 2005


Hi Frank,

Frank Kunze schrieb:
> Hallo PHP-Freunde,
>
> was ich gerade habe ist bestimmt ein
> "Anfängerproblem":
>
> Ich will ein Formular mehrfach aufrufen,
> die schon eingetragenen Felder sollen erhalten
> bleiben und erst wenn alle Pflichtfelder
> ausgefüllt sind wird weiterverarbeitet.
>
> Das Auslagern des Formulars in eine Funktion
> brachte "Ärger", weil bei Benutzung in einer
> do-while-Schleife der neue Formularaufruf separat
> erscheint. Ich will aber bei nicht vollständig
> ausgefülltem Formular von vorn anfangen,
> ohne dass die Feldvariablen gelöscht werden,
> d.h. im Grunde soll das alte Form wiedererscheinen;
> der Nutzer soll aber nicht alles neu eintragen
> müssen.

Du kannst das Problem z.B. so lösen:

Die Formularseite ist zugleich die Versandseite. D.h. das Formular wird
immer an die Seite selbst abgeschickt (action="<?php
echo($_SERVER['PHP_SELF']); ?>"). Das ist Punkt 1.

Zweitens machst Du am Anfang der Seite eine Unterscheidung: Wird das
Formular erstmals aufgerufen (wenn ja, dann gibt es keine
$_POST-Variable)? Wurden alle Pflichtangaben gemacht, wenn das Formular
abgeschickt wurde (die entsprechenden $_POST-Werte abprüfen)? Wenn das
Formular abgeschickt wurde, aber nicht alle Angaben vollständig sind,
Formular wieder vorlegen, ansonsten Daten verschicken.

Damit die Formularfelder bei der Wiedervorlage automatisch befüllt werden,
kannst Du z.B. bei Textfeldern so vorgehen:

<input type="text" name="meinName" value="<?php if (isset($_POST) &&
isset($_POST['meinName'])) { echo($_POST['meinName']); } ?>" />


Viele Grüße

Lutz


php::bar PHP Wiki   -   Listenarchive