Phil: url mit # auslesen

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

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. 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

        --
        Die deutschen Interessen werden am Liechtenstein verteidigt.
        Veranstaltungsdatenbank Vdb 0.3
        1. 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.

          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

      2. 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

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. 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?

          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

          1. 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

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. 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

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. href="http://example.org/?par1=val1&amp;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

      --
      ><o(((°>           ><o(((°>
         <°)))o><                     ><o(((°>o
      Der Valigator leibt diese Fische
    2. Hallo,

      In diesem Falle musste vorher das # als %23 encodiert werden.

      ja, genau.

      href="http://example.org/?par1=val1&amp;fragment=%22fragmentname"

      Warum übergibst du dann hier ein Anführungszeichen?

      Ciao,
       Martin

      --
      Zivilisation bedeutet, dass die Eskimos warme Wohnungen bekommen und dann arbeiten müssen, damit sie sich einen Kühlschrank leisten können.
      1. Warum übergibst du dann hier ein Anführungszeichen?

        Frag doch meine Kaffeemarke...

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische