veo que usas file.. y te regresa el contenido del archivo como un arreglo.. estuve haciendo una prueba, para ver como lo devolvía, y no creo que sea la mejor manera de leerlo, porque te lo lee como contenido, es decir PHP no te interpreta el $_SERVER ['PHP_SELF']..
 
Yo lo movería así: 
en cabecera.php:   
Código PHP:
Ver original- $mensaje1='<p>Se ha producido un error en la consulta, intentelo mas tarde.</p>'; 
- $mensaje2 = "logearse.php"; 
después de toda la validación:    
Y lo demás tal cual esta, ya probe y funciona como debe :) es decir, usa include.. en todos lados jajajaja y ya ;) 
xoxo! ;)