vaudi: Nach Server umzug Probleme mit include

Beitrag lesen

Hallöchen,

<?php if ($_GET['site']) { $site="index_home"; } include ("$site.php"); ?>

if ($_GET['site'])
Damit fragst du ab, ob was übergeben wurde.
  { $site="index_home"; }
Wenn ja, weist du $site den Namen der Startseite zu.
  include ("$site.php");
Dann wird der Include ausgeführt.

Das Ergebnis:

  • wurde was übergeben, includest du "index_home.php"
  • wurde nichts übergeben, includest du ".php"
    Das ist bestimmt nicht das, was du willst.

Du brauchst was in der Art:

<?php if (isset($_GET['site']) && file_exists($_GET['site'])) {  
  include ($_GET['site'].'.php)';  
}  
else {  
  include ("index_home");  
} 

Mit isset() überprüfst du, ob überhaupt was übergeben wurde.
Mit  file_exists() überprüfst du, ob die angegebene Datei auf deiner Site wirklich existiert. Damit hast du eine Grundabsicherung gegen einen manipulierten Übergabeparameter, denn es werden nur Seiten deiner eigenen Site angezeigt.

MfG
vaudi