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

Beitrag lesen

problematische Seite

Hallo borisbaer,

hm, deine Rewrite-Regeln will ich dann nicht weiter anfassen. Wärest Du denn zufrieden, wenn Du mit /games/demons-souls/?tab=dings auf den Tab namens "dings" kommst? Oder möchtest Du sehr gerne URLs wie /games/demons-souls/dings unterstützen können? Dann müsste man sich passende Rewrites überlegen und könnte vielleicht sogar die Prüfung auf gültige Tab-Namen in der .htaccess durchführen 😉

damit ich nicht jedes Mal ein if ergänzen muss, wenn du verstehst, was ich meine.

ja, schon.

Meine Emfehlung wäre, die PHP Scripte für die Tabs so zu benennen, dass sie am Dateinamen als Tab erkennbar sind. Das kann man entweder so machen, dass sie in einen tabs-Unterordner kommen, oder bspw. als game.tab.php benannt werden.

Wenn Du dann in %_GET['page'] etwas findest, kannst du:

(1) Prüfen, ob der gefundene Wert nur aus Buchstaben besteht (preg_match) (2) Prüfen, ob die .tab.php-Datei dazu existiert (3) Tab laden

$page_found = false;
if (!empty($_GET["page"]) 
     && preg_match("/^[a-z]+$/i", $_GET["page"]) == 1)
{
   $pageFile = ".\" . $_GET["page"] . ".tab.php";
   if (file_exists($pageFile))
   {
      include $pageFile;
      $page_found = true;
   }
}
if (!$page_found)
{
   include ".\game.tab.php";
}

Das ist die ausführliche Version, die man gut lesen kann.
Meine persönliche Version sähe so aus 😳 - ich schäme mich ja auch beinahe 😉

$pageFile) = ".\" . (empty($_GET["page"] || !preg_match("/^[a-z]+$/i", $_GET["page"]) ? "game" : $_GET["page"]) . ".tab.php";
file_exists($pageFile) && include $pageFile;

Rolf

--
sumpsi - posui - obstruxi
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