Grundsätzlich sieht das bei mir immer gleich aus vom Aufbau her.
Das schreibst du in die index.php:
<?php
session_start();
if(isset($_SESSION['loggedin'])){ //Bereich für eingeloggte Nutzer
if($_GET['site']=='kontakt'){ //Überprüfen ob die Seite Kontakt aktiv ist - domain.de/index.php?site=kontakt
require_once('kontakt.php');
}elseif($_GET['site']=='impressum'){ //Überprüfen ob die Seite Impressum aktiv ist - domain.de/index.php?site=impressum
require_once('impressum.php');
}else{ //Falls keine der Seiten aufgerufen wurde - normalerweise hier die Start Seite anzeigen
require_once('home.php');
}
}else{
require_once('login.php');
}
?>
Alles anzeigen
Und dann legst du einfach noch die Dateien login.php usw. an.
Login.php füllst du dann einfach mit dem Login Formular, der Abfrage und dem Setzen der Session Variable aus.
Die Seiten auf denen nur eingeloggte Nutzer zugriff haben sollen, sind schon "geschützt" wenn man diese über index.php aufruft, daher empfehle ich die in das Verzeichniss zu verschieben, auf dass man nicht im Web zugreifen kann. Kannst aber zur Sicherheit an den Kopf jeder Datei das einfügen:
<?php
if(!(isset($_SESSION['loggedin']))){
echo '<meta http-equiv="refresh" content="0; URL=/index.php">';
exit;
}
?>
Gruß
Tobi