:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Formulare über mehrere Seiten |
Wer von Ihnen bereits komplexe Formulare erstellt hat, der kennt das Problem: Bei Formularen, die sich über mehrere Seiten erstrecken, müssen die jeweiligen Eingaben von Formular zu Formular übergeben werden. Dies kann recht aufwendig sein, da es meist über versteckte Formularfelder geschieht. Mit einer kleinen PHP-Funktion kann man die versteckten Formularfelder dynamisch erzeugen.
Beispiel – function.inc.php
<?php
function form_daten() {
if (isset($_POST)) {
foreach ($_POST as $key => $element) {
echo "<input type=\"hidden\" name=\"$key\" value=\"$element\">";
}
}
else {
foreach ($_GET as $key => $element) {
echo "<input type=\"hidden\" name=\"$key\" value=\"$element\">";
}
}
}
?>
Die Funktion form_daten() ist recht einfach aufgebaut. Die Bedingung prüft mithilfe der Funktion isset(), ob die jeweiligen Arrays gesetzt wurden. Anschließend wird das entsprechende superglobale Array $_POST oder $_GET durch die foreach-Schleife weiter verarbeitet. Mit ihr wird der Schlüssel oder Index des Arrays sowie der zugewiesene Wert ermittelt und dann im versteckten Formularfeld wieder ausgegeben, sodass die Daten erneut an das nächste Skript verschickt werden können.
Beispiel – form1.php
<html>
<head>
<title>Formular – 1</title>
</head>
<body>
<form method="post" action="form2.php">
<p>
Vorname: <input type="text" name="vorname"><br>
Nachname: <input type="text" name="nachname"><br>
Strasse: <input type="text" name="strasse"><br>
Ort: <input type="text" name="ort"><br>
Plz: <input type="text" name="plz"><br>
</p>
<p>
<input type="submit" name="Submit" value="Weiter...">
</p>
</form>
</body>
</html>
Beispiel – form2.php
<?php include("./function.inc.php"); ?>
<html>
<head>
<title>Formular – 2</title>
</head>
<body>
<form method="post" action="senden.php">
<p>
Kreditinstitut: <input type="text" name="bank"><br>
BLZ: <input type="text" name="blz"><br>
Konto-Nr.: <input type="text" name="kto_nr"><br>
<?php form_daten(); ?>
</p>
<p>
<input type="submit" value="absenden">
</p>
</form>
</body>
</html>
Natürlich können Sie das Beispiel ohne Weiteres erweitern!
|
|
|
|
|
|