phpbar.de logo

Mailinglisten-Archive

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

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

Frank Kunze Frank.Kunze at tu-berlin.de
Die Feb 22 13:30:53 CET 2005


Eric Binek wrote:
> 
> Hi Frank,
> 
> > 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.
> 
> quick'n dirty:
> 
> 1. alle Felder definieren die du benötigst.
>         z.B.
>         $checksum = 0;
>         $nachname = '';
>         $vorname = '';
>         usw.
> 2. dann alle per Formular übermittelten Daten verarbeiten, prüfen usw. und
> speichern.
>         z.B.
>         if( !empty($_REQUEST['nachname']) ) {
>                 $checksum++;
>                 $nachname = $_REQUEST['nachname'];
>         }
>         if( !empty($_REQUEST['vorname']) ) {
>                 $checksum++;
>                 $vorname = $_REQUEST['vorname'];
>         }
> 3. Das Formular mit den Variablen füllen oder wenn alle Variablen gesetzt
> sind mit dem nächsten Schritt fortfahren.
>         if($checksum==2) {
>                 ....weiter
>         }
>         else {
> ?>
>                 <form ......
>                 <input type="text" name="vorname" value="<?=$vorname?>" >
>                 <input type="text" name="nachname" value="<?=$nachname?>" >
> 
>                 </form>
> <?
>         }
> 
> So mach ich das wenn ich faul bin ;-)
> 
> Gruß Eric
> 
> --
> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
> Informationen: http://www.phpbar.de
> http://lists.phpbar.de/mailman/listinfo/php

Hmmm ...

erst mal vielen Dank für die schnellen Antworten.

... Trennung von PHP und HTML ?
Ist das denn überhaupt möglich ?

Meine Frage ging mehr dahin (die  Möglichkeit
dass das Formular sich wieder selbst aufruft kannte 
ich schon - trotzdem vielen Dank !) :

Wenn ich versuche zu trennen (Nämlich z.B.
Formular als "View" und Verarbeitung als
"Controler" die danch in eine Datenbank schreibt);

wie kann ich denn z.B. das Form.php (also das Formular)
aus dem Work.php (wo z.B. die Pflichtfelder geprüft
werden) wieder aufrufen ?

Ich habe in Form.php die Feldvariablen global gesetzt
und ein echo-Attribut - so weit scheint es zu funktio-
nieren; aber wie rufe ich Form.php aus Work.php auf,
so dass nur ein Formular auf der Seite erscheint.

Oder allgemein: Wie kann ich ein PHP-Projekt in Module
zerlegen, die sich gegenseitig aufrufen (Wie gesagt bei
 mehrfachem 
Aufruf von Funktionen aus einem Hauptprogramm wird
immer wieder neuer HTML-Code ausgegeben und im gleichen
Fenster).

Was mir unklar ist: Wie kann man das was sonst der User
über Buttons oder Links macht, nämlich eine neue URL
aufrufen in den PHP-Code einbauen (deshalb die Frage nach
einem "exec"), so dass z.B. nach Abbruch einer Schleife
wieder (in meinem Falle z.B.) dass erste Programm Form.php
aufgerufen wird.

Was mich scheinbar "konfus" macht ist genau das nebeneinander
von Kontrollstrukturen in PHP und den impliziten 
Aktionen aus dem HTML heraus, z.B. in Formularen
bei gleichzeitiger Verquickung mit der Darstellung
im Fenster/den Fenstern im Browser.

[nebenbei: Gibt es einen Debugger für PHP ?]

Viele Grüße
Frank


php::bar PHP Wiki   -   Listenarchive