Formularverarbeitung auf mehrere HTML Seiten

counteract

Erfahrenes Mitglied
Hallo!

Ich habe mal eine Frage zur Formularverabeitung:

Ich möchte bei die Eingabe im Formular auf mehrere Seiten verteilen, d.h. auf der 1. Seite sollen Allgemeine Angaben getätigt werden und auf den darauffolgenden Seiten weitere Eingaben.

Danach soll sich der User wenn er mit seinen Eingaben fertig ist seine Daten anschauen können und sie gegebenenfalls bearbeiten.

Leider habe ich keine Ahnung wie man dieses Problem lösen kann.

Ich hoffe es kann mir jemand helfen.

MfG

Counteract
 
Leider kann ich mit den beiden Antworten nur bedingt etwas anfangen. Könnte mir jemand vielleicht das etwas genauer erklären wie sowas funktioiniert? :(
 
Mit Session:

site1.php
PHP:
<?php session_start(); ?>
<form action="site2.php" method="post">
Name: <input type="text" name="name">
Vorname: <input type="text" name="surname">
<input type="submit" name="submit" value="Weiter!">

site2.php
PHP:
<?php session_start(); 

$_SESSION['name'] = $_POST['name'];
$_SESSION['surname'] = $_POST['surname'];

?>
<form action="site3.php" method="post">
Email: <input type="text" name="email">
Telefon: <input type="text" name="tele">
<input type="submit" name="submit" value="Weiter!">

site3.php
PHP:
<?php session_start(); 

$_SESSION['email'] = $_POST['email'];
$_SESSION['tele'] = $_POST['tele'];

echo "Name: ".$_SESSION['name']."<br>";
echo "Vorname: ".$_SESSION['surname']."<br>";
echo "Email: ".$_SESSION['email']."<br>";
echo "Telefon: ".$_SESSION['tele']."<br>";

?>

Du musst zu Beginn jeder Seite ein session_start(); setzen und dann den Inhalt im Array $_SESSION speichern. Dann wird der Inhalt gespeichert und zur nächsten Seite weitertransportiert.
Finde die Session-Methode deutlich besser als die mit Get oder Post!
 
Danke für deine Hilfe!

Hast du vielleicht noch eine Idee wie man die Daten dann auf der letzten Seite ausgeben kann um sie gegebenenfalls nocheinmal zu ändern?
 
Danke für deine Hilfe!

Hast du vielleicht noch eine Idee wie man die Daten dann auf der letzten Seite ausgeben kann um sie gegebenenfalls nocheinmal zu ändern?

Ganz einfach, du nimmst einfach als Vorlage für ein Textfeld den Wert, der in dem Array gespeichert wurde!

PHP:
<?php session_start();

$_SESSION['email'] = $_POST['email']; 
$_SESSION['tele'] = $_POST['tele']; 
?>

<form action="..." method="post">
  Name: <input type="text" name="name" value="<?=$_SESSION['name']; ?>">
  ...
</form>
 
Hallo counteract,

es gibt eine sehr schöne Klasse von PEAR, mit welcher du ganz bequem Formulare auf mehrere Seiten verwalten kannst. Diese heißt HTML_QuickForm_Controller.
Es ist zwar Anfangs etwas gewöhnungsbedürftig, aber wenn man es mal raus hat, ist es einfach nur genial.

Solltest du das benutzen wollen und kommst nich ganz zurecht, schreib mir ne PM.

Gruß

Devil
 
Hallo!

Leider ist mir gerade noch ein Problem aufgefallen:

Bei dem weiterschalten der Seiten kann man vorher nicht bestimmen wie oft der Nutzer die Seite weiterschaltet um seine gesamten daten einzugeben, da es sich im 1. Formular um allgemeine daten handelt und im 2. Formular um weitere Daten.

Der User füllt nur am anfang allgemeine Daten in das Formular und dann kommt das 2. Formular welches weitere Info´s enthält. Dieses 2. Formular muss also dynamisch sein, damit er immer weiter klicken kann, um seine gesamten Daten reinzuschreiben.

Wie kann man das 2. Formular dynamisch machen, dass er immer so oft weiter klicken kann wie er will und man nicht unentlich viele Formulare erstellen muss sondern nur eins, da es sich ja eh immer um das selbe 2. formular handelt.

Ich hoffe ihr versteht meine Frage!

MfG

Counteract
 
Zurück