url mit # auslesen
Phil
- php
Hallo,
es soll die URL ausgelesen werden.
Bsp:
http://www.seite.php?get_var=1#anchor2
http://seite.php?get_var=1
ist kein Problem mit:
"$_SERVER['PHP_SELF']" und
"$_SERVER['QUERY_STRING']"
aber das angehängte #anchor2 soll
auch noch ausgelesen werden.
Gibt es hier eine Möglichkeit?
Danke
Phil
Hi,
es soll die URL ausgelesen werden.
ausgelesen von wo?
Gibt es hier eine Möglichkeit?
Wenn es um die URL geht, die der Client gerade aufgerufen hat: Nein, diese Information wird nicht übermittelt.
Cheatah
Hi,
»» es soll die URL ausgelesen werden.
ausgelesen von wo?
»» Gibt es hier eine Möglichkeit?
Wenn es um die URL geht, die der Client gerade aufgerufen hat: Nein, diese Information wird nicht übermittelt.
Das habe ich eben auch recherchiert, Danke noch mal.
Um an eine bestimte Stelle innerhalb der Seite springen zu können und
gleichzeitig die Variable in PHP nutzen zu können, könnte man sie also
doppelt angeben:
z.B so:
http://www.seite.php?anchor=2#anchor2
Cheatah
Hallo
»» Wenn es um die URL geht, die der Client gerade aufgerufen hat: Nein, diese Information wird nicht übermittelt.
Das habe ich eben auch recherchiert, Danke noch mal.
Um an eine bestimte Stelle innerhalb der Seite springen zu können und
gleichzeitig die Variable in PHP nutzen zu können, könnte man sie also
doppelt angeben:
z.B so:
http://www.seite.php?anchor=2#anchor2
Dir ist schon klar, dass es einen *relevanten* Unterschied zwischen seite.php#anchor2 und seite.php?anchor=2#anchor2 gibt? Im ersten Fall wird vom Browser in der geladenen Seite zum Anker gesprungen, *ohne* die Seite neu vom Server zu laden, weshalb dir der Wert des Ankernamens auch in PHP nicht zur Verfügung stehen kann und im zweiten Fall wird die Seite *neu vom Server angefordert* und der Sprung zum Anker *nach* dem Laden der Seite durchgeführt.
Tschö, Auge
Hallo
»» »» Wenn es um die URL geht, die der Client gerade aufgerufen hat: Nein, diese Information wird nicht übermittelt.
»»
»» Das habe ich eben auch recherchiert, Danke noch mal.
»» Um an eine bestimte Stelle innerhalb der Seite springen zu können und
»» gleichzeitig die Variable in PHP nutzen zu können, könnte man sie also
»» doppelt angeben:
»» z.B so:
»» http://www.seite.php?anchor=2#anchor2Dir ist schon klar, dass es einen *relevanten* Unterschied zwischen seite.php#anchor2 und seite.php?anchor=2#anchor2 gibt? Im ersten Fall wird vom Browser in der geladenen Seite zum Anker gesprungen, *ohne* die Seite neu vom Server zu laden, weshalb dir der Wert des Ankernamens auch in PHP nicht zur Verfügung stehen kann und im zweiten Fall wird die Seite *neu vom Server angefordert* und der Sprung zum Anker *nach* dem Laden der Seite durchgeführt.
Das war mir von der Funktion her klar, danke aber noch mal für das deutlich
machen. Ich habe mir nicht klargemacht, dass die Seite mit # nicht neu
geladen wird, jetzt verstehe ich den Hintergrund.
Mit dem GET-Parameter soll die Seite erzeugt werden (richtige Seite aus
einem Newsblog mit Blätterfunktion).
Mit dem #-Parameter soll der Sprung zum Eintrag innerhalb der Seite
durchgeführt werden.
So funktioniert es jetzt auch
Gruß Phil
Hi,
Um an eine bestimte Stelle innerhalb der Seite springen zu können und
gleichzeitig die Variable in PHP nutzen zu können, könnte man sie also
doppelt angeben:
z.B so:
http://www.seite.php?anchor=2#anchor2
richtig, inklusive Auges Einwand. Was ist denn eigentlich Dein Ziel?
Cheatah
Hi,
»» Um an eine bestimte Stelle innerhalb der Seite springen zu können und
»» gleichzeitig die Variable in PHP nutzen zu können, könnte man sie also
»» doppelt angeben:
»» z.B so:
»» http://www.seite.php?anchor=2#anchor2richtig, inklusive Auges Einwand. Was ist denn eigentlich Dein Ziel?
Mit dem GET-Parameter soll die Seite erzeugt werden (richtige Seite aus
einem Newsblog mit Blätterfunktion).
Mit dem #-Parameter soll der Sprung zum Eintrag innerhalb der Seite
durchgeführt werden.
Phil
Moin Moin!
»» »» http://www.seite.php?anchor=2#anchor2
»»
»» richtig, inklusive Auges Einwand. Was ist denn eigentlich Dein Ziel?
»»
Mit dem GET-Parameter soll die Seite erzeugt werden (richtige Seite aus
einem Newsblog mit Blätterfunktion).
Dafür ist der Teil der URL bis ausschließlich zum "#" da, dieser Teil passiert auf dem Server.
Mit dem #-Parameter soll der Sprung zum Eintrag innerhalb der Seite
durchgeführt werden.
Dafür ist der Teil der URL ab einschließlich "#" da, dieser Teil passiert auf dem Client.
Alexander
es soll die URL ausgelesen werden.
http://www.seite.php?get_var=1#anchor2
Du kannst mit serverseitigem Auslesen von #fragmenten bestenfalls
kaputte User-Agents erkennen.
Falls ein solcher Anker an einen Server mitgeteilt wird, dann
als urlencoded Teil der via Get oder Poste gesendeten Parameterwerte.
In diesem Falle musste vorher das # als %23 encodiert werden.
http://seite.php?get_var=1
ist kein Problem mit:
"$_SERVER['PHP_SELF']" und
"$_SERVER['QUERY_STRING']"aber das angehängte #anchor2 soll
auch noch ausgelesen werden.Gibt es hier eine Möglichkeit?
Ja encodiere vorher deine url
href="http://example.org/?par1=val1&fragment=%22fragmentname"
mfg Beat
href="http://example.org/?par1=val1&fragment=%22fragmentname"
PS: Du misst natürlich vorher das #fragmentname mittels JS auslesen und an den Query hängen.
http://de.selfhtml.org/javascript/objekte/location.htm#hash
mfg Beat
Hallo,
In diesem Falle musste vorher das # als %23 encodiert werden.
ja, genau.
href="http://example.org/?par1=val1&fragment=%22fragmentname"
Warum übergibst du dann hier ein Anführungszeichen?
Ciao,
Martin
Warum übergibst du dann hier ein Anführungszeichen?
Frag doch meine Kaffeemarke...
mfg Beat