Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/01/2006, 12:21
califa010
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Probá con esto:

index.php

Código PHP:
<?php
session_start
();
$_SESSION['acceso'] = 1;
?>
sesion.php

Código PHP:
<?php
session_start
();
if (!isset(
$_SESSION['acceso'])) {
    
header("location:index.php");
        exit;
} elseif (isset(
$_SESSION['acceso']) && $_SESSION['acceso'] != 1) {
    
header("location:index.php");
        exit;
}
?>
Lo de arriba te conviene guardarlo en un archivo aparte, por ej. sesion.php y lo incluís en cada página así:

pagina1.php

Código PHP:
<?php
include("sesion.php");
?>
Al cargar página1.php, va a incluir sesion.php. Ese archivo es el que va a iniciar una sesión (si no existe ya, si existe no crea otra), y va a buscar entre las variables de sesión una que se llame acceso. Si no existe, redirecciona y detiene la ejecución del script. Si existe, pero tiene un valor distinto a 1, lo mismo. En cualquier otro caso (la variable existe y vale 1), el script no produce ningún efecto y página1 se carga normalmente.

Una observación: no te conviene redireccionar con JavaScript cuando esté usando sesiones. No es por algo entre JS y sesiones, sino simplemente porque en general, esas redirecciones buscan evitar el ingreso a una página sin autorización. Si yo tuviera JS deshabilitado (lo cual se hace muy fácil), entonces podría ver tu página... Bueno, si agregás exit no, porque corta el script, pero igual, mejor usar php. No vas a tener problemas con header() porque está al principio del script.

Suerte.