& in href verwirrt Netscape un Mozilla
asdf
- html
Hallo Selfhtml!
Folgendes:
Ich habe vor einigen Tagen herausgefunden das & im href von einem Link nicht dem Standard entspricht. Also habe ich alle & mit & ersetzt. Beim IE functioniert alles es wird sogar in der Adressleiste steht statt & & angezeigt, doch der Netscape kommt damit überhaupt nciht zurecht, sowohl NN4.7 also auch NN6, genauso bei Mozilla. Weiß einer ob es eine Möglichkeit gibt dieses Problem zu umgehen, ohne eine eigene Funktion zu erstellen die statt & mit einem anderen Zeichen die einzelnen Parameter der URL trennt?
Infos: Ich habe keinen eigenen Server zu hause stehen.
MFG Robert
»»Weiß einer ob es eine Möglichkeit gibt dieses Problem zu umgehen, ohne eine eigene Funktion zu erstellen die statt & mit einem anderen Zeichen die einzelnen Parameter der URL trennt?
Klingt vielleicht platt, aber warum lässt du das "&" nicht einfach als "&" ? Stört doch anscheinend keinen...
MfG
Mastershrimp
Hallo,
Klingt vielleicht platt, aber warum lässt du das "&" nicht einfach als "&" ? Stört doch anscheinend keinen...
Doch! Sobald & und Parametername eine bekannte Entity-Referenz ergeben, macht nicht mehr nur der Validator Ärger.
an asdf: Zeig mal die Seite, auf der dieses Problem auftreten soll. Da das & wie jede andere Entity-Referenz auch (sofern bekannt) zu dem entsprechenden Zeichen umgesetzt werden sollte, sollte es absolut keine Probleme geben.
Viele Grüße
Carsten
Hallo Carsten,
auch dir danke ich.
die Seite lautet:
http://ikt.bg9.at/~rchiryai/az/index.php
es wird weitergeleitet auf
http://ikt.bg9.at/~rchiryai/az/index.php?seite=newsaus
wenn man seite=newsaus löscht und dann
http://ikt.bg9.at/~rchiryai/az/index.php?pass=irgendwas
hinschreibt
wird vom Code automatisch erkannt das "seite" keinen inhalt hat und leitet einfach auf aktuelle SELFPHP+QueryString+&seite=newsaus also:
http://ikt.bg9.at/~rchiryai/az/index.php?pass=irgendwas&seite=newsaus
dann nochmal "seite" wird nicht erkannt und gleich weiterleite
und dann.....
aber du hast mir die Lösung gesagt:
Bei weiterleitung mit self.location.href="irendwas&irgenwas" wird das & für den browser wahrscheinlich nciht als & sondern als & gelesen.
Danke
Robert
MFG Robert
Hallo asdf,
Du maskierst ein wenig viel. ;-)
So schaut die URL in der Adresszeile nach dem LOGIN aus:
http://ikt.bg9.at/~rchiryai/az/index.php?seite=newsaus&&nick=Nickname&pass=3e45af4ca27ea2b03fc6183af40ea112
Merkste was?
Gruß
Kurt
Hallo!
So schaut die URL in der Adresszeile nach dem LOGIN aus:
http://ikt.bg9.at/~rchiryai/az/index.php?seite=newsaus&&nick=Nickname&pass=3e45af4ca27ea2b03fc6183af40ea112
Habe ich vor einpar minuten erfahren aber trotzdem auch dir danke.
MFG Robert
Gute Nacht(Schicht)!
Bei weiterleitung mit self.location.href.....
blödsinn
blödsinn
Robert
Hallo,
danke für die Antwort.
Klingt vielleicht platt, aber warum lässt du das "&" nicht einfach als "&" ? Stört doch anscheinend keinen...
Es ist platt :)
Leider stört es mich.
Auch wenn es keine Sau da draußen interessiert ob meine Seite validiert oder nicht ist, will ich sie CSS und HTML 4.01 validiert haben.
Außerdem habe ich das Logo von W3c auf meiner Seite stehen. :)
MFG Robert
Hi,
Ich habe vor einigen Tagen herausgefunden das & im href von einem Link nicht dem Standard entspricht. Also habe ich alle & mit & ersetzt. Beim IE functioniert alles es wird sogar in der Adressleiste steht statt & & angezeigt, doch der Netscape kommt damit überhaupt nciht zurecht, sowohl NN4.7 also auch NN6, genauso bei Mozilla.
Dann machst Du irgendwas falsch.
Da Du aber keinerlei Code vorzeigst, ist natürlich nicht festzustellen, was.
cu,
Andreas
Hallo MudGuard,
Da Du aber keinerlei Code vorzeigst, ist natürlich nicht
der href inhalt wird von einer Funktion in PHP erstellt, deswegen kannich dir keinen Quelltext schicken, es sei den ich schike dir meine ganzen includes und den index.php quellcode.
Aber ich muss dir recht geben, ich hätte den ablauf bis zum fehler besser erklären sollen.
Also das einzige was ich dir sagen kann ist das am Ende:
http://127.0.0.1/az/index.php?nick=DerRobert&pass=2d718a699af65d3844fd217ea94b8426&seite=newsaus
in der Adressleiste steht und der Parameter "seite" nicht erkannt wird.
Ich hoffe du kannst daraus was schließen.
Danke und FG RObert
Hallo asdf,
der href inhalt wird von einer Funktion in PHP
erstellt, deswegen kannich dir keinen Quelltext
schicken, es sei den ich schike dir meine ganzen
includes und den index.php quellcode.
'Speichern Unter' ;)
Also das einzige was ich dir sagen kann ist das
am Ende:http://127.0.0.1/az/index.php?nick=DerRobert&pass=2d718a699af65d3844fd217ea94b8426&seite=newsaus
in der Adressleiste steht
Dann hast du den &-Parameter wahrscheinlich doppelt
maskiert: & Schau dir die HTML-Ausgabe mal
im Browser per 'Quelltext Anzeigen' bzw. per
'view-source:url' an.
Gruesse,
CK
Ja.
Dann hast du den &-Parameter wahrscheinlich doppelt
maskiert
Stimmt :)
Hallo asdf,
Ich habe vor einigen Tagen herausgefunden das &
im href von einem Link nicht dem Standard
entspricht. Also habe ich alle & mit &
ersetzt.
Gut! :)
Beim IE functioniert alles es wird sogar in der
Adressleiste steht statt & & angezeigt, doch
der Netscape kommt damit überhaupt nciht zurecht,
sowohl NN4.7 also auch NN6, genauso bei Mozilla.
Was heisst 'sie kommen damit nicht zurecht'?
Genauere Beschreibung, bitte. Ich habe keine
Glaskugel. Ich kann nur aus persoenlicher Erfahrung
sagen, dass das voellig unproblematisch ist und
ich noch nie Probleme damit hatte.
Weiß einer ob es eine Möglichkeit gibt dieses
Problem zu umgehen, ohne eine eigene Funktion zu
erstellen die statt & mit einem anderen Zeichen
die einzelnen Parameter der URL trennt?
Statt dem & kannst du auch das ; nehmen. Der
Standard sieht das vor, und sowohl PHP als auch
Perls CGI.pm koennen das. Von anderen Sprachen
weiss ich es nicht.
Gruesse,
CK
Hallo!
Danke für die Antwort
Statt dem & kannst du auch das ; nehmen. Der
Standard sieht das vor, und sowohl PHP als auch
Perls CGI.pm koennen das. Von anderen Sprachen
weiss ich es nicht.
Damit sollte ich mein Problem auch lösen.
Ich sehe, hätte ich bei www.W3.org noch zwei zeilen weitergelesen hätte ich nicht mehr hier fragen müssen.
Ich danke allen für die Schnelle Hilfe
mfg Robert (asdf)
Hallo,
Statt dem & kannst du auch das ; nehmen. Der
Standard sieht das vor, und sowohl PHP als auch
Perls CGI.pm koennen das. Von anderen Sprachen
weiss ich es nicht.
versteh ich das jetzt richtig,dann könnte ich also mit meinem html-editor
phase5 all meine html seiten(ca. 800) sowie perl cgis (ca.20)nach dem zeichen & suchen und es durch ;
ersetzen lassen?
Gruss vom Alain
Hi,
versteh ich das jetzt richtig,dann könnte ich also mit meinem html-editor
phase5 all meine html seiten(ca. 800) sowie perl cgis (ca.20)nach dem zeichen & suchen und es durch ;
ersetzen lassen?
Aber nur die &, die Parameter in der URL trennen, nicht die, die eine Entity einleiten.
cu,
Andreas
Hallo,
versteh ich das jetzt richtig,dann könnte ich also mit meinem html-editor
phase5 all meine html seiten(ca. 800) sowie perl cgis (ca.20)nach dem zeichen & suchen und es durch ;
ersetzen lassen?
Aber nur die &, die Parameter in der URL trennen, nicht die, die »» eine Entity einleiten.
Wenn ein Link auf http://irgendwas.at/index.php?a=10;b=5 zeigt
wirst du mit $_GET["b"] nichts erreichen. Da müsstest du schon mit $QUERY_STRING dir selbst etwas basteln, das als trennzeichen ; nimmt.
Ich glaub es geht auch, wenn man am Webserver rumarbeitet aber ich glaube nicht, dass du die Rechte dafür hast.
MFG asdf(Robert)
Hi,
versteh ich das jetzt richtig,dann könnte ich also mit meinem html-editor
phase5 all meine html seiten(ca. 800) sowie perl cgis (ca.20)nach dem zeichen & suchen und es durch ;
ersetzen lassen?
Aber nur die &, die Parameter in der URL trennen, nicht die, die eine Entity einleiten.
Und auch nicht die, die z.B. im Javascript als Operator benutzt werden...
Wenn ein Link auf http://irgendwas.at/index.php?a=10;b=5 zeigt
wirst du mit $_GET["b"] nichts erreichen. Da müsstest du schon mit $QUERY_STRING dir selbst etwas basteln, das als trennzeichen ; nimmt.
Ich glaub es geht auch, wenn man am Webserver rumarbeitet aber ich glaube nicht, dass du die Rechte dafür hast.
Ich weiß nicht mehr, ob ich das mal in meiner PHP.ini geändert hab, bei mir steht da
arg_separator.input = ";&"
drin - und damit funktioniert es. Steht so auch in der php.ini-dist und php.ini-recommended drin, die sich im PHP-Installverzeichnis befinden (mit dem selben Datei-Datum wie die anderen Dateien - also höchstwahrscheinlich unverändert).
cu,
Andreas
hi,
Ich weiß nicht mehr, ob ich das mal in meiner PHP.ini geändert hab, bei mir steht da
arg_separator.input = ";&"
drin - und damit funktioniert es. Steht so auch in der php.ini-dist und php.ini-recommended drin, die sich im PHP-Installverzeichnis befinden (mit dem selben Datei-Datum wie die anderen Dateien - also höchstwahrscheinlich unverändert).
laut manual ist aber nur "&" der default-wert dieser einstellung, siehe http://de.php.net/manual/en/configuration.directives.php.
gruss,
wahsaga