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

Beitrag lesen

problematische Seite

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 😉

Ja, die schickere Variante wäre mir schon sehr lieb, aber das mit den Rewrites hat noch keine Priorität für mich.

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";
}

error

Irgendwie hat er ein Problem mit dem Code.

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;

Auch diese Version will er mir leider nicht als validen Code annehmen. 😵😵😵

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