Hi,
wenn ich ne Get-variable abfrage, ist die dann als string gespeichert?
ja, natürlich. Sie wurde schließlich aus einem String ermittelt.
also if($_get["link"] == 1) geht nicht, da ich anführungszeichen drumrummachen muss?
Könnte sein, sollte aber nicht für einen Parsing-Error verantwortlich sein. 1=="1" ergibt eben false, das ist alles.
kann gerade nicht probieren!
Schau mal nach, ob da in der Region noch irgendwas anderes falsch sein könnte - beispielsweise auch "merkwürdige" Whitespaces.
PS: du schreibst immer wieder unter postings, das gewisse zeichen im url-string ausgetauscht werden müssen, zB auch das &
Nichts durcheinanderbringen, bitte :-) Es gibt unterschiedliche Kodierungen, die immer genau(!) dann eingesetzt werden müssen, wenn der Wert im für die Kodierung gedachten Bereich eingesetzt wird. Welche Zeichen in einer URL gültig sind, steht in RFC 1738 (http://www.ietf.org/rfc/rfc1738.txt); welche Zeichen in einem URL-_Parameter_ (bzw. dessen Wert) stehen dürfen ist davon abhängig, wie "URL-Parameter" definiert ist: Gewöhnlich wird an "&" und "=" getrennt, d.h. auch diese Zeichen müssen innerhalb von Name und Wert kodiert sein, sonst gelten sie als Trenner.
Wenn ich darauf hinweise, dass ein "&" kodiert werden muss, dann geschieht dies gewöhnlich im Zusammenhang mit HTML: Dort ist dies nämlich das Escape-Zeichen, es leitet eine Entität ein, ist also vergleichbar mit dem Backslash in Strings z.B. bei PHP. Mit URLs hat diese Kodierung per se nicht das geringste mehr zu tun - in diesem _semantischen_ Zusammenhang taucht das Problem einfach nur am häufigsten auf.
wo gibt es denn eine Liste, welche zeichen womit codiert werden müssen?
"hier gültiges Sonderzeichen" mit "hier gültigem Escape-Zeichen". Das gilt für jedes "hier". Ein Sonderzeichen ist entweder ein Zeichen mit einer besonderen Bedeutung, oder eines, welches an der Stelle überhaupt nicht erlaubt ist (in URLs beispielsweise alles jenseits von chr(127)).
Cheatah
X-Will-Answer-Email: No