Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich bin gerade dabei, ein Formular zu basteln, das Benutzereingaben in eine Datenbank speichert - soweit so gut und ja auch kein Problem.

Jetzt habe ich aber gemerkt, daß es Benutzerfreundlicher wäre, das Formular auf zwei oder drei Seiten aufzuteilen, weil sonst der Bildschirm so vollgeklatscht ist.

Nur: ich hab keine Ahnung, wie man das macht, daß die Daten der ersten Seite gespeichert werden und man dann auf die nächste Seite kommt und dort weitere Daten speichern kann und so weiter...

Hat einer von Euch ne Hilfe?? Mit JavaScript oder so sollte das doch gehen (ach ja, die Seiten enthalten sonst noch PHP und die anzuschließende Datenbank ist MySQL).

Danke für Eure Hilfe :-)

-etops-

Geschrieben

Moin,

mit PHP kannst Du auf die variabeln eines vorherigen Formularfeldes entweder über POST oder GET (je nach form method) zugreifen. Bei php.net wird das folgendermaßen beschrieben:

HTTP GET variables: $_GET

Note: Introduced in 4.1.0. In earlier versions, use $HTTP_GET_VARS.

An associative array of variables passed to the current script via the HTTP GET method. Automatically global in any scope.

This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. You don't need to do a global $_GET; to access it within functions or methods, as you do with $HTTP_GET_VARS.

$HTTP_GET_VARS contains the same initial information, but is not an autoglobal. (Note that HTTP_GET_VARS and $_GET are different variables and that PHP handles them as such)

If the register_globals directive is set, then these variables will also be made available in the global scope of the script; i.e., separate from the $_GET and $HTTP_GET_VARS arrays. For related information, see the security chapter titled Using Register Globals. These individual globals are not autoglobals.

HTTP POST variables: $_POST

Note: Introduced in 4.1.0. In earlier versions, use $HTTP_POST_VARS.

An associative array of variables passed to the current script via the HTTP POST method. Automatically global in any scope.

This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. You don't need to do a global $_POST; to access it within functions or methods, as you do with $HTTP_POST_VARS.

$HTTP_POST_VARS contains the same initial information, but is not an autoglobal. (Note that HTTP_POST_VARS and $_POST are different variables and that PHP handles them as such)

If the register_globals directive is set, then these variables will also be made available in the global scope of the script; i.e., separate from the $_POST and $HTTP_POST_VARS arrays. For related information, see the security chapter titled Using Register Globals. These individual globals are not autoglobals.

Danach kannst du die Variabeln ja mit hidden fields wieder weitergeben. Irgendwann dann ab in die DB damit und alles ist gut. :)

Geschrieben

Hmm, wenn du sowieso alles in eine DB speicherst, ist es eigentlich doch egal, ob alle Daten gleichzeitig ankommen, oder? Dann könntest Du es z.B. folgendermaßen machen:

Das erste Formular ist reines HTML und führt per Klick auf den Button auf's zweite Formular. Dort speicherst Du die per Get übergebenen Daten in die Tabelle und liest die ID des damit grad erstellten Datensatzes aus. Diese packst Du in ein verstecktes Feld des zweiten Formulars. Ein Klick auf den Button führt zum dritten Formular, von dem aus du dann den Datensatz per ID wieder auswählst und die weiteren Daten reinschreibst. Das kannst Du beliebig oft fortsetzen, wenn du immer dran denkst, die ID des Datensatzes im Formular mitzugeben. So sparst Du die auch die Jongliererei mit den ganzen Daten, die du sonst von Seite zu Seite in versteckten Feldern mitschleppen müßtest.

Das ganze könnte man alternativ auch mit Sessions oder Cookies machen, aber das ist IMO für diesen Zweck doch zu aufwendig...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...