| |
| * Link führt ins Internet |
|
| |
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 mit Hilfe von $QUERY_STRING ausgeben lassen:
Werden Sie feststellen, das tatsächlich sämtliche Daten übertragen wurden. Sie müssten in diesem speziellen Fall die Daten selbst mit Hilfer der Funktion explode() dekodieren. Die Funktion zerlegt eine Zeichenkette anhand eines Trennzeichens in ein eindimensionales Array. Anschliessend erfolgt die nochmalige Trennung anhand der Gleichheitszeichens.
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("&",$QUERY_STRING);
foreach ($daten as $element) {
$werte[] = explode("=",$element);
}
foreach ($werte as $element) {
echo "$element[0]: $element[1]<br>";
}
?>
|
Ausgabe
| Hinweis: Sie sollten gleichnamige Variablen möglichst vermeiden und es erst gar nicht zu einer solchen Situation kommen lassen. |
|
|
|
|
|
|
|