Ma perchè hai fatto in quel modo ? non era più semplice fare una generica pagina utente.php e cambiarne il contenuto in base all'utente loggato?
L'unico modo adesso è quello di controllare nella pagina caio.php se l'utente è caio
Codice PHP:
// caio.php
if($_SESSION['username'] != "caio") // Se hai registrato l'utente in session
header("..."); //redirect su una pagina di accesso non consentito o sulla pagina dell' utente
In alternativa potresti fare un controllo generico se e soltanto se lo username è lo stesso del nome della pagina(username caio => caio.php). Come, però, puoi notare questo lo puoi fare solo sulla pagina personale dell'utente
Codice PHP:
$file = $_SERVER["SCRIPT_NAME"];
$break = explode('/', $file);
$pfile = $break[count($break) - 1];
if($_SESSION['username'].".php" != $pfile) // Se hai registrato l'utente in session
header("...");
Resta il fatto che il tuo è un approccio un po' strano ...