Una recomendación .. te transcribo lo que pone el manual:
Cita: Si utiliza $HTTP_SESSION_VARS/$_SESSION, no use session_register(), session_is_registered() ni session_unregister().
Creo que es de lectura obligatoria el capítulo sobre sesiones del manual. Acá un enlace en español:
http://www.php.net/manual/es/ref.session.php
nunca había visto utilizar eso que pones pero "autentificado"!="SI" siempre dará "true" porque está comparando si las cadenas son iguales (y no lo son)
Entonces tu script está evaluando lo siguiente:
Código PHP:
if($_SESSION[true]){
//esto se ejecutará si la variable $_SESSION[true] == true
//Y como no existe $_SESSION[true], no se ejecuta
//y pasa directamente
}
Para empezar... cambia las líneas:
Código PHP:
session_register("autentificado");
$autentificado = "SI";
Por esta otra
Código PHP:
$_SESSION["autentificado"]="SI";
Saludos