Heppi: An Anker auf einer Seite springen, wenn die Seite mittels PHP erstellt wurde?

Hallo zusammen,

es gibt ja die Möglichkeit mit skript.htm#anker an eine bestimmte Stelle (<div name="anker">text</div>) auf einer HTML-Seite zu springen. Jetzt wird meine Seite aber von einem PHP-Skript erstellt und mittels echo ausgegeben, Gibt es hier auch eine Möglichkeit an eine bestimmte Stelle auf dieser Seite zu springen? Danke euch schon mal für die Hilfe 😀

Schöne Grüße, Heppi.

  1. @@Heppi

    es gibt ja die Möglichkeit mit skript.htm#anker an eine bestimmte Stelle (<div name="anker">text</div>) auf einer HTML-Seite zu springen.

    So wird das nichts. id statt name. Und vermutlich auch ein anderes Element (section?) statt div.

    Den Sprung macht der Browser, der Server weiß davon nichts.

    Jetzt wird meine Seite aber von einem PHP-Skript erstellt und mittels echo ausgegeben,

    Den Sprung macht der Browser, der Server weiß davon nichts.

    Gibt es hier auch eine Möglichkeit an eine bestimmte Stelle auf dieser Seite zu springen?

    Ja.

    LLAP 🖖

    --
    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
    1. Gibt es hier auch eine Möglichkeit an eine bestimmte Stelle auf dieser Seite zu springen?

      Ja.

      Und wie geht die? Oder stehe ich jetzt grad total auf dem Schlauch?

      1. Hallo

        Gibt es hier auch eine Möglichkeit an eine bestimmte Stelle auf dieser Seite zu springen?

        Ja.

        Und wie geht die? Oder stehe ich jetzt grad total auf dem Schlauch?

        So, wie immer‽

        Was generierst du mit PHP für den Browser? Ein HTML-Dokument. Wie erzeugst du in HTML eine Sprungmarke? Mit dem ID-Attribut. Fertich!

        Tschö, Auge

        --
        Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
        Toller Dampf voraus von Terry Pratchett
  2. Hallo Heppi,

    das Springen auf eine ID macht der Browser, dem ist egal ob das HTML statisch war oder von PHP per echo ausgegeben wird.

    Wenn Du auf einer Seite a.html bist und von dort auf b.php#foo verlinkst, teilt der Browser die Aufgabe auf. Zuerst holt er b.php vom Server. Der Server muss wissen, wie er diese Ressource bereitstellt. Es KÖNNTE eine statische Datei auf der Platte sein, aber es ist natürlich Konvention, dass nun der PHP Interpreter anläuft. Das Ergebnis ist eine HTML-Seite[1]. Nachdem der Browser diese Seite bekommen hat, übersetzt er sie in seine interne Darstellung (das DOM) und navigiert dann zu dem Element mit der ID foo.

    Wenn Du bereits auf b.php bist und dort auf einen Link nach b.php#foo klickst, dann merkt der Browser das. Er redet dann gar nicht erst mit dem Server, sondern springt direkt zum identifizierten Element.

    Hoffe das hilft - wenn nicht: was konkret geschieht nicht so, wie Du es gerne hättest?

    Rolf

    --
    sumpsi - posui - clusi

    1. zumindest ist das die Erwartung an eine korrekte Ausführung des PHP-Scripts... ↩︎

    1. Hallo,

      zumindest ist das die Erwartung an eine korrekte Ausführung des PHP-Scripts...

      In diesem Fall! PHP könnte auch was völlig anderes zurückliefern sollen…

      Gruß
      Kalk

      1. Hallo Tabellenkalk,

        du hast natürlich Recht. Aber als ich das alles stehen hatte, bekam ICH schon vom Lesen Kopfschmerzen, und habe etliche Seitenzweige wieder herausgeschnitten.

        Rolf

        --
        sumpsi - posui - clusi
  3. Aaaaaaaah, jetzt kapiert 😀 Und dabei noch vertippt... Dann kann natürlich nicht das gewünschte Ergebnis rauskommen. Danke euch 😀