Lieber claus,
mir wäre das Script zu unübersichtlich. Warum definierst Du kein assoziatives Array, welches die zu inkludierenden Skripte enthält?
$inc = [
  'hom' => 'home',
  'ba1' => 'basics1',
  'ba2' => 'basics2'
];
if (!array_key_exists($_GET['kap'], $inc)) {
  exit(header('Status: 403', TRUE, 403));
}
include('kapitel/kap_'.$inc[$_GET['kap']].'.php');
Jetzt sieht man sehr schön, dass ein ungültiger Wert in kap zu einem exit mit 403-er führt. Danach wird das garantiert Passende inkludiert. Keine umschweifige case-Notation, kein default-Zweig oder mehrfache exit-Anweisungen mehr...
Liebe Grüße
Felix Riesterer
 nicht angemeldet
 nicht angemeldet Rolf B
 Rolf B Auge
 Auge Der Martin
 Der Martin