Foros del Web » Programando para Internet » PHP »

como referencio ?

Estas en el tema de como referencio ? en el foro de PHP en Foros del Web. Hola: Dentro de mi aplicacion segura, hay algunos archivos a los cuales no se puede acceder sin antes identificarse como un usuario registrado. Lo que ...
  #1 (permalink)  
Antiguo 05/01/2004, 11:37
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 22 años, 4 meses
Puntos: 0
como referencio ?

Hola:
Dentro de mi aplicacion segura, hay algunos archivos a los cuales no se puede acceder sin antes identificarse como un usuario registrado.
Lo que quiero hacer es que si un usuario no se ha identificado que la aplicacion le pida los datos de acceso y una vez que se ha identificado lo devuelva nuevamente al lugar a donde queria ir o hacia donde estaba.

Ojala se entienda.

Gracias y Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #2 (permalink)  
Antiguo 05/01/2004, 11:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pues .. usando sesiones/cookies o bien por el URL ... propaga el URL hacia donde debes redireccionar despues del login correcto.

Para eso . .en la página "segura" .. te guardas por ejemplo en un sesión/cookie -antes- de redireccionar a tu página de login (si la validación no fué correcta) el URL de la pàgina con la variable de servidor PHP_SELF

Un ejemplo usando sesiones:

Tu página que requiere autentificación ...
Código PHP:
<?
session_start
();
if (
tu validación ....) {
   
// me guardo el URI actual.
   
$_SESSION['url']=$_SERVER['PHP_SELF'];
   
// redirecciono a tu pàgina de login.
   
header ("Location: login.php");
   exit;
}
// Me deshago de la variable de sesión .. ya no la necesito.
// SI el código llega aquí es por qué pasó la validación .. no hace falta el "else" en el IF si usas exit; como en el ejemplo.
if (isset($_SESSION['url'])){
   unset (
$_SESSION['url']);
}

// resto de tu página "segura" ...
?>

Y en tu login.php .. mejor dicho .. donde proceses y valides a ese usuario . en su redireccionamiento que apunte a:

Código PHP:
<?
session_start
();

// validaciones de tu usuario .. etc...

header ("Location: ".$_SESSION['url']);
exit;
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 05/01/2004 a las 11:50
  #3 (permalink)  
Antiguo 05/01/2004, 11:53
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 22 años, 4 meses
Puntos: 0
Gracias Cluster.


Pd: Un Feliz Año 2004 para todos los grandes de Foros del Web
__________________
AK.T.I.V.E.tm Live, Never DIE
  #4 (permalink)  
Antiguo 05/01/2004, 11:56
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 22 años, 4 meses
Puntos: 0
pero que pasa cuando la validacion la tengo en otro archivo .php
aplicacion.php
Código PHP:
<? include ("seguridad.php") ;
// resto de la aplicacion ?>
__________________
AK.T.I.V.E.tm Live, Never DIE

Última edición por KillerBKS; 05/01/2004 a las 12:00
  #5 (permalink)  
Antiguo 05/01/2004, 12:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Da igual .. un "include" se ejecuta en el script que lo llama .. así que el "PHP_SELF" debería ser el que lo llama.

Pruebalo .. haz un:
Código PHP:
echo $_SERVER['PHP_SELF']; 
en tu seguridad.php y observa que dá.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 05/01/2004, 12:11
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 22 años, 4 meses
Puntos: 0
OK

Gracias
__________________
AK.T.I.V.E.tm Live, Never DIE
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:26.