No puedes ir mezclando $_SESSION con session_register() ..
Código PHP:
session_start();
session_register("autenticado");
$autenticado = "SI";
usa:
Código PHP:
session_start();
$_SESSION['autenticado']="SI";
Y a todo esto necesitas una versión de PHP superior a 4.1.0 (si vas a usar los arrays superglobales $_SESSION etc).
(usa $_SESSION preferentemente (en mayusculas)...)
Otro detallito ..
Código PHP:
if($_SESSION["autenticado"!="SI"]){
// Comprueba que el usuario este autenticado
header("location: index.php"); // <- ojo con el espacio para el location: index.php ...
//si el usuario no esta autenticado, se envia de nuevo a la pagina de validación
exit();
// Se cierra este script
}
Tambien recuerda que .. por la forma que tienes de uso de sesiones, debes usar la configuración de php (ver phpinfo() o php.ini)
session.use_trans_sid=1
session.use_cookies =1
Y un navegador que acepte cookeis .. ya que tu en tu código no propagas el SID de forma manual y "dejas" a PHP que lo haga el.
Un saludo,