:: 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.
|
|
Formulardaten und globale Servervariablen |
Sofern in der Konfigurationsdatei php.ini die Option track_vars aktiviert ist, werden GET, POST und COOKIE-Variablen in den superglobalen Arrays $_GET, $_POST, $_COOKIE abgelegt. Dies erfolgt selbst dann, wenn bei der Konfigurationsoption gpc_
order der automatische Variablenimport vollständig deaktiviert wurde.
Im Gegensatz zur Verwendung der automatisch generierten Importvariablen hat das Auslesen von Formulardaten über globale Servervariablen den Vorteil einer besseren Kontrolle darüber, woher die Variablen stammen und welchen Einfluss sie auf den Programmablauf nehmen könnten.
Betrachten Sie folgendes Beispiel:
<html>
<head>
<title>Servervariablen und Formulare</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF ?>">
<p>Vorname:
<input type="text" name="vorname">
</p>
<p>Nachname:
<input type="text" name="nachname">
</p>
<p>Ort:
<input type="text" name="ort">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
<?php
if (isset($_POST[Submit])) {
reset($_POST);
foreach($_POST as $key=>$element) {
echo "$key: $element<br>";
}
}
?>
</body>
</html>
Bild 4.3: Ausgabe – globale Servervariablen
Hinweis: Ein ähnliches Beispiel habe ich Ihnen bereits im Abschnitt 4.1.6 »Formulare über mehrere Seiten« vorgestellt.
Eine mögliche Variante, wie die Formulardaten an automatisch erzeugte Variablen übergeben werden können, zeigt das folgende Beispiel, welches auf demselben Formular basiert.
<html>
<head>
<title>Servervariablen und Formulare</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF ?>">
<p>Vorname:
<input type="text" name="vorname">
</p>
<p>Nachname:
<input type="text" name="nachname">
</p>
<p>Ort:
<input type="text" name="ort">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
<?php
if (isset($_POST[Submit])) {
reset($_POST);
foreach($_POST as $key=>$element) {
${"form_$key"} = $element;
}
echo "Vorname: $form_vorname<br>";
echo "Nachname: $form_nachname<br>";
echo "Ort: $form_ort<br>";
}
?>
</body>
</html>
Bild 4.4: Ausgabe – dynamisch erzeugte Variablen
|
|
|
|
|
|