Dynamische Homepage

Hier nochmal etwas erweitert:

PHP:
<?php
$default_location = "pages/"; //Pfad zu den Dateien (Ordner)
$fehler404 = "404";      // Dateiname wenn Seite nicht existiert  // Kein .php******
$home = "home";          // Pfad zur Startseite                   // Kein .php******



if (!isset($_GET['s'])) {      // Prüfen ob eine Seite in der Adresse definiert wurde
        $page = $home;			 // Wenn keine Seite da ist, wird die Standardseite aufgerufen

        }       					 // Wenn nicht.. dann...
if(file_exists($default_location . $page . ".php")){           //...überprüfen ob die Datei existiert

        $page = $_GET['s'];            // Wenn ja, wird die Seite mit dem GET-Wert bestückt...
        }else {                // Sonst...
        	$page = $fehler404;   //... wird die Fehlerseite aufgerufen
}
	 
	 $page = $default_location . $page . ".php"; //Variablen zusammenbinden
	 include($page);            //... Datei wird eingebunden ...

?>


Die Dateien kommen dann in den Ordner: pages/ oder in den Ordner der unter $default_location gespeichert ist
Die URL sieht so aus: index.php?s=SEITENNAME
Ich hoffe ich konnte dir noch ein bisschen mehr helfen... :D ;)
 
Hallo technikfreack,

eins würde ich noch bemängeln: Keine Entfernung eventueller ".." (eine Ordnerstufe höher)
Damit könnte man theoretisch die index.php selbst wieder einbinden: ?s=../index.

Das kann man allerdings leicht lösen:
PHP:
<?php 
$default_location = "pages/"; //Pfad zu den Dateien (Ordner) 
$fehler404 = "404";      // Dateiname wenn Seite nicht existiert  // Kein .php****** 
$home = "home";          // Pfad zur Startseite                   // Kein .php****** 



if (!isset($_GET['s']))
{      // Prüfen ob eine Seite in der Adresse definiert wurde 
  $page = $home;             // Wenn keine Seite da ist, wird die Standardseite aufgerufen 
}                            // Wenn nicht.. dann... 
else
{
  $
  $path = $default_location . str_replace('..', '', $page) . ".php";

  if(file_exists($path))
  {           //...überprüfen ob die Datei existiert 
     include($path);
  }
  else
  {                // Sonst... 
    $page = $fehler404;   //... wird die Fehlerseite aufgerufen 
  }
?>
 
Zurück