Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/05/2006, 12:06
Notwen
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
No deberias utilizar session_register() o session_unregister(). El script para terminar la sesion deberia ser simplemente asi:

Código PHP:
<?
session_start
();
session_unset();
session_destroy();
header("Location: /sistema_productos/index.php");
?>
En tu script, el error del header() te lo da porque antes hay salida de html para indicarte el warning anterior.
Por otro lado, para que no se pueda acceder a tus paginas despues de destruir la sesion, deberias verificar si existe alguna determinada variable de session y si no es asi terminar la sesion y no mostrar la pagina. Seria mas o menos asi:

Código PHP:
<?
session_start
();
if (!isset(
$_SESSION['autenticado'])) {
   
header("Location: destruir_sesion.php");
   exit;
}
....
?>
Si no haces algo asi, al recargar la pagina despues de destruir la sesion, esta se va a volver a crear (la sesion) y la página se cargara igual. Y en tu script no veo que haya alguna comprobación como esa.
Saludos.

Edito: si lo haces de esta forma, no necesitas tal cosa como evitar el botón "volver atras". Igualmente, si podes evitar eso, el usuario podrias pedir nuevamente la página simplemente escribiendo su dirección. La solución es hacer algo parecido a lo que te dije (que es lo que se utiliza): utilizar una variable de sesion para permitir o no el acceso a tus scripts.