Probleme mit Site include

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Site include

    Hallo,

    ich habe ein Problem mit meinem PHP-Code.

    Ich wollte eigentlich das einzelne PHP-Seiten, in meiner Seite an einer bestimmten Stelle mit eingefügt werden.

    So dass z.B. durch öffnen von index.php?site=test2 die Hauptseite bestehen bleibt und nur in der index.php an einer gewissen Stelle der Inhalt der test2.php geöffnet wird.

    Ich habe dazu eigentlich immer folgenden Code verwendet:
    PHP-Code:
          <!-- php site include -->
          <?
          
          if(!isset($site)){
              $site="test";
          }
          
          if(!file_exists($site.".php")){
               $site = "test";
          }
          
          include($site.".php");
          
          ?>
          <!-- end php site include -->
    Das Problem dabei ist, die Seite test.php fügt er ein, aber beim klicken auf einen link der index.php?site=test2 geöffnet werden soll, zeigt er den link zwar im Browser oben an, aber die Seite bleibt bei test.php geöffnet.

    Woran kann das liegen?

    Schon einmal im voraus vielen Dank für die Unterstützung.

    Grüße

    web-freak22

  • #2
    Woher soll die Variable $site herkommen? Das ist in deinem Code nicht ersichtlich.

    Davon abgesehen baust du da eine schöne Sicherheitslücke, weil man so jede beliebige PHP-Datei am Server ausführen kann. Auch solche, die nicht öffentlich zugänglich sind. Du solltest mit einer Whitelist arbeiten.

    Kommentar


    • #3
      ich dachte die Site erhält er durch den link, also index.php?site=test2

      -> test2.php

      wie funktioniert das mit der White-Liste? Habe das bisher noch nicht gehört oder gesehen.

      Danke schon mal für die Antwort.

      Kommentar


      • #4
        Zitat von web-freak22 Beitrag anzeigen
        ich dachte die Site erhält er durch den link, also index.php?site=test2
        Nein. Den Wert findest du in $_GET['site'].

        Zitat von web-freak22 Beitrag anzeigen
        wie funktioniert das mit der White-Liste? Habe das bisher noch nicht gehört oder gesehen.
        PHP-Code:
        $siteWhitelist = array('home''foo''bar''baz');

        if (isset(
        $_GET['site']) && in_array($_GET['site'], $siteWhitelisttrue)) {
            
        $site $_GET['site'];
        } else {
            
        $site 'home';

        Kommentar


        • #5
          genial, endlich funktioniert es :-)

          Vielen vielen Dank :-)

          Kommentar

          Lädt...
          X