vchrizz: Bei "include" Fehler eigene Errorseite

Beitrag lesen

switch ($_REQUEST['style']) {
    case '':
     include ('styles/standard.txt');
        break;
    case 'red':
        include ('styles/red.txt');
        break;
    case 'green':
        include ('styles/green.txt');
        break;
    case 'blue':
        include ('styles/blue.txt');
        break;
  }

so hab ich es ;)
mfg

Guten Abend!

Ich bin am Rumbasteln an einer neuen Page und da sieht meine index.php so aus:

<?php
include header.inc.php
include config.inc.php

...

include $location.".php";

...

include footer.inc.php
?>

(bisschen vereinfacht)

Die $location wechselt von Seite zu Seite (Bsp. einmal $location = guestbook etc. ) .

In der Config-Datei ist ausserdem noch:

...

if (!isset($location)) {
$location = "news/index";
}

...

Damit das ganze beim ersten aufruf auf die News kommt.

Wenn ich jetzt aber eine nicht existierende Seite wie z.B.

http:localhost/test/index.php?location=seitegibtsnicht (Teste noch alles Lokal)

in der Browserzeile eingebe (was bisschen PHP - "gewandtere" User wohl öfters mal Probieren... XD) bekomme ich -wie erwartet- einen include-Fehler:

Warning: main(seitegibtsnicht.php): failed to open stream: No such file or directory in C:...\index.php on line 10

Warning: main(): Failed opening 'seitegibtsnicht.php' for inclusion (include_path='.;C:...\php\pear') in C:...\index.php on line 10

Wie kann ichs machen, dass wenn
include $location.".php"
$location zu keinem Ziel führt, anstelle des Fehlers eine Eigene Fehlerseite angezeigt bekomme? (Seite existiert nicht oder ähnlich)
Und wie mach ich das, damit wenn nach index.php?location= nichts mehr steht automatisch $location = "news/index" ausgegeben wird?

Gruss