Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/05/2005, 06:52
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
// Hacemos una llamada a si mismo (scritp) para que queden disponibles
// las variables de session en el array asociado $HTTP_...

$pag=$_SERVER['PHP_SELF'];
Header ("Location: $pag?");
exit;
En definitiva el comentario y el código sólo diche que ahí en ese punto se va a redireccionar el script a la misma página para que $_SESSION contenga los valores que antes se le dieron. Esto es así por qué las sesiones que defines no quedan realmente disponible (físicamente) hasta la próxima "petición" al servidor (bien sea que recargas la página, que llamas a otra página/scritp donde accedes a esas variables de sesión ..etc).

-----------------------

En tu caso particular .. no sé como vas a usar ese código .. pero fijate que si validas a tu usuario (por tu formulario de login) redireccionas a "principal.php" .. OK, podría ser así .. Pero entonces tendrías que separar la parte de "autentificación" y la de validación (el "else" y el código que ahí usa para validar la existencia de $_SESSION y las variables de sesión que ahí se hacen mención).

Es decir, tendrías que tener un "autentifica.php" con la primera parte del "if()" que usas donde se valida $_GET y otro "valida.php" con la segunda parte del if() ... donde validas las sesiones $_SESSION .. ese script sería el que incluirias en tu scripts protegidos y de tu formulario de login .. tan sólo hacia (por su action=...) al "autentificator.php" pues si validas correctamente derivas hacia "principal.php" (donde tendrías tu "valida.php" incluido por si acceden "directo" sin pasar por tu login/autentificación)

otro detalle
Termina la ejecución del script cuando hagas una redirección de tipo header("Location: ....") .. sino, la ejecución de tu script continua .. y eso no es lo que te interesa, pues si "redireccionas" es para "cambiarte" a otro script .. no cuando este termine .. pasar a otro.

Para esto usa:
Código PHP:
header(....);
exit; 
(vamos .. como está en el script Autentificator original ..)

Un saludo,