:: 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.
|
|
Gleichlautende Variablen |
Bei der automatischen Generierung von Daten kann es vorkommen, dass mehrere gleichlautende Variablen unterschiedliche Werte enthalten:
<a href="liste.php?x=1&x=2&x=3">Liste</a>
In diesem Fall extrahiert PHP nur die letzte Variable und den dazugehörigen Wert. Die Ausgabe von echo $x; würde im vorliegenden Beispiel 3 ausgeben. Wenn Sie sich jedoch alle Daten mithilfe von $QUERY_STRING ausgeben lassen,echo $_SERVER[QUERY_STRING];
werden Sie feststellen, dass tatsächlich sämtliche Daten übertragen wurden. Sie müssten in diesem speziellen Fall die Daten selbst mithilfe der Funktion explode() dekodieren. Die Funktion zerlegt eine Zeichenkette anhand eines Trennzeichens in ein eindimensionales Array. Anschließend erfolgt die nochmalige Trennung durch Gleichheitszeichen.
Beispiel – link.php
<html>
<head>
<title>Verweis</title>
</head>
<body>
<a href="liste.php?x=1&x=2&x=3">Liste</a>
</form>
</body>
</html>
Beispiel – liste.php
<?php
$daten = explode("&",$_SERVER[QUERY_STRING]);
foreach ($daten as $element) {
$werte[] = explode("=",$element);
}
foreach ($werte as $element) {
echo "$element[0]: $element[1]<br>";
}
?>
Ausgabe
x: 1
x: 2
x: 3
Hinweis: Sie sollten gleichnamige Variablen möglichst vermeiden und es erst gar nicht zu einer solchen Situation kommen lassen.
|
|
|
|
|
|