mehrere Variablen per Link übergeben nach W3C
Jens
- programmiertechnik
0 romy0 Jens0 Siechfred0 Jens
0 Tobias Kloth0 Yeti
0 Der Martin0 MudGuard
Hallo,
ich möchte mit einem Link mehrere Variablen übergeben.
Ich habe das eigentlich immer so gemacht:
<a href="datei.php?var1=wert1&var2=wert2">LINK</a>
Ich habe meine Seite validieren lassen (http://validator.de.selfhtml.org) und erhielt nun folgenden Fehler:
Warnungen
var2
.Beim googlen bin ich auf folgenden Artikel gestoßen: http://www.martin-kaestner.de/atforum/forum/dynprog/45.shtml# (siehe Punkt 3 des Beitrags), allerdings verstehe ich nicht ganz, wie dieser gemeint ist.
Kann mir wer von euch einen Hinweis geben?
Dankeschön
Jens
Hi Jens,
ich möchte mit einem Link mehrere Variablen übergeben.
Ich habe das eigentlich immer so gemacht:
<a href="datei.php?var1=wert1&var2=wert2">LINK</a>
meiner meinung nach, musst Du das &-Zeichen durch seinen maskierten HTML-Wert ersetzen, in diesem Falle durch &
http://de.selfhtml.org/html/allgemein/zeichen.htm#html_eigene
hilft das?
ciao
romy
Hi Romy,
meiner meinung nach, musst Du das &-Zeichen durch seinen maskierten HTML-Wert ersetzen, in diesem Falle durch &
http://de.selfhtml.org/html/allgemein/zeichen.htm#html_eigenehilft das?
Wenn ich das so mache, bekomme ich beim Validieren die Fehlermeldung:
Warnungen
ampvar2
.Gruß
Jens
Hallo Jens.
&
----------^
Wenn ich das so mache, bekomme ich beim Validieren die Fehlermeldung:
Du hast was vergessen :)
Siehe auch: http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2
Freundschaft!
Siechfred
Hallo,
&
----------^
mmh, das war wohl ein falscher Fehler von mir *g*
Dankeschön an alle für die schnelle Hilfe
Hallo Jens,
Warnungen
- Kann keinen Systembezeichner für die allgemeine Entität "ampvar2" erzeugen
der »;« hinter »&« war schon Absicht (Enties fangen mit »&« an und hören mit »;« auf) ...
Grüße aus Nürnberg
Tobias
Hi,
Warnungen
- Kann keinen Systembezeichner für die allgemeine Entität "ampvar2" erzeugen
Fehler- Unbekanntes Entity
ampvar2
.- Referenz auf Entität "ampvar2", für welche kein Systembezeichner erzeugt werden konnte
- Die Entität wurde hier definiert
Hinter dem & noch Semikolon; zu setzen wird sich bestimmt als kluge Entscheidung erweisen ...
Der Yeti
Hallo Jens,
was die Kameraden dir empfohlen haben, war ja im Grunde genommen richtig ("&" durch "&" ersetzen).
Ich habe das eigentlich immer so gemacht:
<a href="datei.php?var1=wert1&var2=wert2">LINK</a>
In _diesem_ Kontext ist es IMHO aber völlig korrekt, das "&"-Symbol so stehenzulassen. Denn hier hat es ja nicht die Bedeutung, dass es als "&" im eigentlichen Text erscheinen soll, sondern es hat eine Sonderfunktion - nämlich dass es Parameter im Query-String trennt.
Warnungen
- Kann keinen Systembezeichner für die allgemeine Entität "var2" erzeugen
Fehler- Unbekanntes Entity
var2
.- Referenz auf Entität "var2", für welche kein Systembezeichner erzeugt werden konnte
- Die Entität wurde hier definiert
Das Problem ist bekannt. Der Validator "versteht" den Unterschied in der Bedeutung nicht. Er geht davon aus, dass das Zeichen ganz normal im Text der Seite erscheinen soll, und übersieht, dass es eigentlich Bestandteil einer URL ist.
Ich würde die Meldungen des Validators in diesem Fall ignorieren - denn eigentlich ist der Quelltext korrekt so.
Herzliche Grüße,
Martin
Hi,
In _diesem_ Kontext ist es IMHO aber völlig korrekt,
Nein.
das "&"-Symbol so stehenzulassen. Denn hier hat es ja nicht die Bedeutung, dass es als "&" im eigentlichen Text erscheinen soll, sondern es hat eine Sonderfunktion - nämlich dass es Parameter im Query-String trennt.
Nein - das & muß auch in URLs durch & ersetzt werden - darum meldet der Validator ja auch einen Fehler.
Insbesondere weiß der Validator nicht, daß es sich um eine URL handelt - das Attribut href ist vom Typ CDATA.
Es unterscheidet sich für den Validator in nichts vom alt- oder color- oder name-Attribut oder sonstigen Attributen vom Typ CDATA.
Und in HTML muß innerhalb von CDATA & durch & ausgedrückt werden. Immer.
Das Problem ist bekannt. Der Validator "versteht" den Unterschied in der Bedeutung nicht.
Wie soll er einen Unterschied in der Bedeutung kennen, wenn es diesen Unterschied gar nicht gibt?
Ich würde die Meldungen des Validators in diesem Fall ignorieren - denn eigentlich ist der Quelltext korrekt so.
Nein, die Meldungen sollten nicht ignoriert werden, denn der Quelltext ist NICHT korrekt.
cu,
Andreas