& PHP =>Anker mit Anhang?
phase
- html
0 mike0 MudGuard0 phase0 Christian Seiler0 phase0 Harry0 Christian Seiler0 phase0 Christian Seiler
0 MudGuard0 Michael Jendryschik
hallo,
ich habe ein problem mit einem Anker.
ich versuchen mit einem link auf einen Anker auf eine phpSeite zuverweisen. an diesem Link hängen noch so einige variablen dran.
<a href="meine_seite.php#anker?var=1&var=2...">link</a>
leider werden die variablen hinter dem anker von dem phpScript ignoriert.
kann mir einer sagen woran das liegt oder ob es überhaupt möglich ist an einen 'anker-link' noch etwas anzuhängen?
danke
phase
hast du mal probiert den Anker dahinter zu plazieren?
hast du mal probiert den Anker dahinter zu plazieren?
danke, am ende funktioniert der anker wenigstens manchmal, leider nicht immer - willkürlich!
sehr merkwürdig.
trotzdem danke
phase
ok, ich denke ich weiss woran es liegt.
da die seite erst beim aufruf generiert wird, gibt esd en anker noch gar nciht also kann er auch nicht gefunden werden.
schade...
phase
Hi,
ich versuchen mit einem link auf einen Anker auf eine phpSeite zuverweisen. an diesem Link hängen noch so einige variablen dran.
<a href="meine_seite.php#anker?var=1&var=2...">link</a>
^^^^^^ ^
ans Ende muß als & geschrieben werden.
cu,
Andreas
<a href="meine_seite.php#anker?var=1&var=2...">link</a>
^^^^^^ ^
ans Ende muß als & geschrieben werden.
ans Ende ok, aber das mit dem '&' naja, das war wohl nicht erst gemeint oder? *tze*
danke
phase
Hallo phase,
aber das mit dem '&' naja, das war wohl nicht erst gemeint oder? *tze*
Doch. & leitet in HTML eine Entity ein. Wenn Du das Zeichen & haben willst, dann musst Du es entsprechend kodieren, sonst produzierst Du HTML, das zum einen invalide ist und zum anderen Probleme machen könnte, wenn Du hinter das &-Zeichen eine Zeichenkette schreibst, die auch eine gültige HTML-Entity darstellt.
Christian
ähmm,
ich gebe doch mit dem '6' an dass ich noch weiter variablen übergebe!
phase
Holladiewaldfee,
ich gebe doch mit dem '6' an dass ich noch weiter variablen übergebe!
Du meinst "&" ;-)
Das ändert nichts daran, daß Du innerhalb eines Links das "&" als "&" codieren mußt. Nur wenn Du es direkt in der Adresszeile eingibst mußt Du es nicht codieren.
Zu dem Thema Anker und Variablen gab's hier schonmal eine relativ lange Diskussion, such mal ein bißchen im Archiv. Das Problem war glaube ich, daß unterschiedliche Browser den Anker an unterschiedlichen Stellen erwarten. Prinzipiell richtig ist bar bla.php?var=foo#anker (also schön aufgeteilt, vorne alles, was den Server interessiert und dahinter die Info für den Clienten)
Ciao,
Harry
Hallo Phase,
ich gebe doch mit dem '6' an dass ich noch weiter variablen übergebe!
Ja und? Jeder mir bekannte Browser interpretiert ein "&" ja auch als "&". Im Übrigen übergibst Du technisch gesehen keine Variablen sondern Parameter.
Christian
hallo Christian,
das ist mir neu, das ich es so übergeben muss. dachte immer das er die variablen bzw. parameter so voneinander trennt. naja, hatte noch nie probleme damit aber wenn es codiert besser ist...
danke
phase
Hallo phase,
naja, hatte noch nie probleme damit aber wenn es codiert besser ist...
Damit das hier nicht nur so als leere Behauptung da steht, (ich könnte ja auch behaupten, dass Du = als &equal; kodieren müßtest, was definitiv _nicht_ der Fall ist) hier der Beweis:
http://www.christian-seiler.de/misc/amp-test.html
Christian
hallo Christian,
ich glaube ich habe verstanden was du mir damit sagen wolltest.
ich werde in zukunft darauf achten...
danke
phase
Hi Christian,
das mag zwar bei HTML so sein, blos sag nun mal wie php damit zurechtkommt.
Phase zum abtrennen der Variablen rüig ein & benutztn.
Tschü thomas
Hallo Thomas,
das mag zwar bei HTML so sein, blos sag nun mal wie php damit zurechtkommt.
Liest Du meine Postings nicht richtig? Ich zitiere mich noch mal:
Ja und? Jeder mir bekannte Browser interpretiert ein "&" ja auch als "&".
Wenn ein Browser das nicht tut, und so einer ist mir bisher nicht über den Weg gelaufen, dann würde er sich nicht an die elementarsten Dinge in HTML halten und daher wäre die GET-Paramterübergabe sein geringstes Problem.
PHP bekommt das & also gar nicht mit, sondern das & und ist somit zufrieden.
Phase zum abtrennen der Variablen rüig ein & benutztn.
Hast Du meine Testseite nicht gesehen? Hast Du auf _beide_ Testlinks geklickt und dann in die Adresszeile geschaut?
phase hat es anscheinend getan und er hat es verstanden, daher denke ich nicht, dass ich mich unklar ausgedrückt habe.
Im Übrigen: was spricht dagegen, dass Du, bevor Du eine Behauptung in den Raum wirfst ("PHP kapiert das nicht") das erst mal überprüfst und gleich einen Testcase online stellst, so wie ich es getan habe?
Christian
Hi,
<a href="meine_seite.php#anker?var=1&var=2...">link</a>
^^^^^^ ^
ans Ende muß als & geschrieben werden.
ans Ende ok, aber das mit dem '&' naja, das war wohl nicht erst gemeint oder? *tze*
Doch, das war sehr ernst gemeint.
Siehe auch http://www.w3.org/TR/html401/appendix/notes.html#h-B.2.2
cu,
Andreas
<a href="meine_seite.php#anker?var=1&var=2...">link</a>
^^^^^^ ^
ans Ende muß als & geschrieben werden.
ans Ende ok, aber das mit dem '&' naja, das war wohl nicht erst gemeint oder?
Warum probierst du es nicht aus? Der Attributwert von 'href' ist zwar eine URI-Referenz, doch diese ist CDATA und muss in HTML korrekt maskiert werden. Dies bedeutet, dass jedes &, welches als Parameterseparator dient, als & geschrieben werden muss.
MI