borisbaer: Wie rufe ich mit URL-Parametern dynamisch Inhalte auf?

Beitrag lesen

problematische Seite

Das setzt voraus, dass mods.php keine vollständige HTML Seite liefert, sondern nur das HTML Fragment, das in den Tab hinein soll.

Genau so ist es auch.

Im Haupt-PHP Script, das die Rahmenseite liefert, kannst Du mit isset($_GET['mods']) abfragen, ob ein Parameter namens mods vorhanden ist. Das ist allerdings umständlich, weil Du für jede Page eine eigene Abfrage brauchst. Wenn Du nur den Pagename angeben willst, guck Dir $_SERVER['QUERY_STRING'] an und prüfe, ob der Wert in einer Liste erlaubter Pages steht, bevor Du die Page inkludierst.

Tut mir echt leid, leider verstehe ich nur Bahnhof. Bisher kenne ich nur zwei Methoden, Inhalte dynamisch zu laden, nämlich über ein AJAX-Script oder über den PHP-Befehl<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/placeholder.php"; include($path); ?>. Ich habe bisher nicht verstehen können, wie man URL-Parameter überhaupt einsetzt, wo man sie im Code hinschreibt, das ganze Prinzip im Grunde nicht. Und die bisherigen Tutorials, die ich mir angeschaut habe, haben mir da auch irgendwie nicht weitergeholfen. Ich bräuchte ein Tutorial für richtige Dummies.

Wenn der Parameter dann identifiziert ist, kannst Du im PHP an der Stelle, wo die Page eingebunden werden muss, sie einfach mit include hereinholen.

Siehe oben.

Clientseitig kannst Du, wie Dedlfix sagte, durch Zugriffe auf das History-API dafür sorgen, dass ein Page-Wechsel sich in URL und URL-Historie niederschlägt.

Ich möchte das auch eigentlich nicht über eine URL-Historie lösen, sondern …

ABER

Ich würde das nicht tun. Bei einer Ajax-getriebenen Seite kannst Du auch URLs mit Hash-Teil vewenden: …/games/demons-souls#mods

… wenn schon AJAX, dann so, wie du das hier geschrieben hast, nämlich mit Hash.

Diesen Hash-Teil kannst Du am Client auswerten und die Page per AJAX hereinholen. Das musst Du beim Start der Seite tun, und bei URL-Änderungen die Page anpassen. Dazu gibt's die hashchange und popstate Events auf dem window Objekt.

Unter den Beitrag von TS habe ich den kompletten Code kopiert, der für das dynamische Laden der Seitenteile zuständig ist. Könntest du mir sagen, wie ich hier mit den von dir genannten Events es so einrichte, dass der Hash-Teil automatisch den entsprechenden Seitenteil lädt?

0 75

Wie rufe ich mit URL-Parametern dynamisch Inhalte auf?

borisbaer
  • url
  1. 0
    TS
    • ajax
    • client-server
    • url
    1. 0
      borisbaer
  2. 0
    dedlfix
    1. 0
      borisbaer
      1. 0
        Samuel fiedler
        • javascript
        • php
        • url
        1. 0
          Der Martin
          • php
          • url
        2. 0
          Rolf B
          1. 0
            borisbaer
            1. 0
              Rolf B
              1. 0
                borisbaer
                1. 0
                  Rolf B
                  1. 0
                    borisbaer
                    1. 0
                      Rolf B
                      1. 0
                        borisbaer
                        1. 0
                          tk
                          • php
                          • url
                          1. 0
                            borisbaer
                        2. 0
                          Rolf B
                          1. 0
                            borisbaer
                            1. 0
                              Rolf B
                      2. 1
                        tk
                        • php
                        • url
                        1. 0
                          Rolf B
                          1. 0
                            borisbaer
                            1. 0
                              Der Martin
                              1. 0
                                Rolf B
                                1. 0
                                  borisbaer
                                  1. 0
                                    Rolf B
                                    1. 0
                                      borisbaer
                                      1. 0
                                        Rolf B
                                        1. 0
                                          borisbaer
                                          1. 0
                                            Rolf B
                                            1. 0
                                              borisbaer
                                            2. 0
                                              borisbaer
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  borisbaer
                                                  1. 0
                                                    Rolf B
                                                    1. 0
                                                      borisbaer
                                                      1. 0
                                                        Rolf B
                                                        1. 0
                                                          borisbaer
                                                          1. 0
                                                            borisbaer
                                                            1. 0
                                                              Rolf B
                                                              1. 0
                                                                borisbaer
                                                                1. 0
                                                                  Rolf B
                                                                  1. 0
                                                                    borisbaer
                                                            2. 0
                                                              Rolf B
                                                              1. 0
                                                                borisbaer
                                                                1. 0
                                                                  Rolf B
                                                                  1. 0
                                                                    borisbaer
                                                                    1. 0
                                                                      Rolf B
                                                                      1. 0
                                                                        borisbaer
                                                                        1. 0
                                                                          Rolf B
                                                                          1. 0
                                                                            klawischnigg
                                                                            1. 0
                                                                              Rolf B
                                                                              1. 0
                                                                                klawischnigg
                                                                                1. 0
                                                                                  Rolf B
                                                                          2. 1
                                                                            borisbaer
                                2. 0
                                  Der Martin
                                  1. 0
                                    Rolf B
                                    1. 0
                                      Der Martin
                                      1. 0
                                        Rolf B
                                        1. 0
                                          Der Martin
                                          1. 0
                                            Rolf B
                            2. 0
                              Tabellenkalk
                              1. 0
                                borisbaer
        3. 0
          borisbaer
  3. 0
    Rolf B
    1. 0
      borisbaer
      1. 0
        Rolf B
        1. 0
          borisbaer
          1. 0
            Rolf B
            1. 0
              borisbaer
              1. 1
                Rolf B
                1. 0
                  borisbaer
                  1. 0
                    Rolf B
                    1. 0
                      borisbaer