$_GET --mehrere Werte
carsten schlichting
- php
0 Der Martin0 FraFu
Hallo
habe folgendes Problem. Möchte über $_GET Werte übergeben-und zwar mehrere. (Das übergeben von einem wert funktioniert.)
habe also folgenden Link:
index.php$scha=Wert1?breit=Wert2?hoch=Wert3.
nun wird die Übernahme von Wert2 und 3 nicht vollzogen und
$_GET[scha] ist dafür =Wert1?breit=Wert2?hoch=Wert3.
Mir wurde einmal erklärt, dass man auf diese weise auch mehrere werte übergeben könnte. Aber irgendwas schein ich falsch gemacht zu haben. weiß jemand was?
Grüße von mir
carsten
Hallo Carsten,
Mir wurde einmal erklärt, dass man auf diese weise auch mehrere werte übergeben könnte.
Dann wurde dir nur die halbe Wahrheit erklärt.
Richtig ist: Die Parameterliste wird mit einem '?' von der URL getrennt.
Falsch ist: Die Parameter untereinander auch mit '?' zu trennen. Dafür wird ein '&' verwendet.
Schönen Abend noch,
Martin
Hallo!»» Hallo
habe folgendes Problem. Möchte über $_GET Werte übergeben-und zwar mehrere. (Das übergeben von einem wert funktioniert.)
habe also folgenden Link:
index.php$scha=Wert1?breit=Wert2?hoch=Wert3.
index.php?scha=Wert1&breti=Wert2&hoch=Wert3
Wenn du den Link in HTML verwendest, musst du die & noch maskieren. Der Link schaut dann so aus:
index.php?scha=Wert1&breti=Wert2&hoch=Wert3
mfg
frafu
Hi FraFu!
Wenn du den Link in HTML verwendest, musst du die & noch maskieren. Der Link schaut dann so aus:
index.php?scha=Wert1&breti=Wert2&hoch=Wert3
Dann hast du doch wieder & drin...
Ein Teufelskreis, ich weiß. :)
MfG H☼psel
also vielen dank
leider hab ichs gerade noch nicht ausproboeren können, weil mein Computer gerade spinnt.
werde mit php den HTML code bilden, also werde wohl trotzdem die Maskierung benötigne. Hoffe einfach mal, das morgen alles so funktionieren wird
also danke und Grüße
carsten
Hi carsten!
werde mit php den HTML code bilden, also werde wohl trotzdem die Maskierung benötigne. Hoffe einfach mal, das morgen alles so funktionieren wird
Du brauchst eben keine Maskierung. Das Zeichen "&" ist durchaus erlaubt.
MfG H☼psel
Hallo,
Du brauchst eben keine Maskierung. Das Zeichen "&" ist durchaus erlaubt.
Ja, in einem URI, aber nicht in einem Attributwert vom Typ CDATA in HTML.
Erläuterung:
index.php?scha=Wert1&breti=Wert2&hoch=Wert3
^Das ist ein korrekter Wert für einen URI, aber wenn es im href-Attribut eines A-Elements steht:
<a href="index.php?scha=Wert1&breti=Wert2&hoch=Wert3" ...>
dann wäre es falsch, weil:
http://www.w3.org/TR/html4/struct/links.html#h-12.2:
<!ATTLIST A
...
href %URI; #IMPLIED -- URI for linked resource --
...
%URI:
<!ENTITY % URI "CDATA"
-- a Uniform Resource Identifier,
see [URI]
-->
CDATA:
CDATA is a sequence of characters from the document character set and _may_ _include_ _character entities_.
Wichtig ist das "may include character entities".
Der Parser ermittelt also
<a href="index.php?scha=Wert1&breti=Wert2&hoch=Wert3" ...>
^hier eine Entity &breti..., die es in der DTD natürlich nicht gibt. Somit wird ein Fehler erzeugt[1].
Bei:
<a href="index.php?scha=Wert1&breti=Wert2&hoch=Wert3" ...>
^gibt es hier mit & auch eine Entity. Diese ist aber laut DTD bekannt.
viele Grüße
Axel
[1]Die meisten HTML-Parser tolerieren diese Fehler. Der Validator aber nicht.
Hi Axel!
Danke schön.
MfG H☼psel