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 ...