Als je voor de oplossing van Hipska gaat, zou ik een [php]header[/php]('Location: blabla.php?page=blabla'); overwegen ipv een [php]die[/php](). Dat lijkt me net iets netter.
if(basename(___FILE___) != 'index.php') die('Ga naar index.php');
// hierna de rest van je code
?>
[edit]het zou kunnen dat je ipv ___FILE___ , $_SERVER['PHP_SELF'] moet gaan gebruiken[/edit]
Bij mij werkt dit niet helaas.
Als ik het bv in home.php bovenaan zet en klik op het menu op "Home" dan gaat ie meteen naar 'Ga naar index.php' die text zie je dan alleen maar in een blanko pagina.
De bedoeling is dat het menu gewoon werkt met "index.php?page=home" maar niet home.php rechtstreeks aangeroepen kan worden dat ie dan naar index gaat of een foutmelding mag ook.
oeps ik zie dat je nog iets eronder erbij hebt geschreven $_SERVER['PHP_SELF'] met dit werkt het wel ;)