hmmmm espera, te falla cuando haces el acceso correctamente no? Qué tipo de codificación tiene tu fichero? Ojo, no pregunto qué tipo de codificación usas porque ya veo que le indicas UTF-8, pregunto el tipo de codificación que tiene el fichero en sí, los .php
Ahora he caído en que una vez me ocurrió algo parecido a lo que te ocurre (por lo que he entendido). Tenía mi login en localhost y cuando lo subí a un hosting no iba. Vi que al inicio de mi fichero había como un espacio en blanco, y eso me anulaba las sesiones porque "escribía" antes del
session_start(). Resultó ser que el fichero estaba codificado en UTF-8 "sin más", y tuve que indicarle concretamente que fuera
UTF-8 sin BOM. Me extrañó porque nunca antes me había ocurrido y ya había usado varios hostings distintos, se ve que depende de la versión de PHP que puede trabajar mal con ese Byte de más.
De todas formas, antes de hacer nada, veo en tu PHP Info que tienes los errores desactivados, así que lo más probable es que esté escupiendo un error pero no te lo está mostrando. Vete al fichero
php.ini y cambia la directiva
display_errors=Off por
display_errors=On. Si no tienes acceso al php.ini pon
ini_set("display_errors","On"); al inicio de tu fichero
conexion.php (por ejemplo, ya que lo cargan todos), y cuando lo resuelvas vuélvelo a quitar sino quieres que se vean los errores.
Cuéntanos a ver