Foros del Web » Programando para Internet » PHP »

Ayuda,.... otra vez

Estas en el tema de Ayuda,.... otra vez en el foro de PHP en Foros del Web. Hola: Estoy haciendo una aplicacion en PHP + MySQL. Es un sistema con autentificación de usuarios. Tengo distintos tipos de usuarios (Profesores, Capacitadores, Soporte). Tengo ...
  #1 (permalink)  
Antiguo 30/12/2003, 14:10
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Ayuda,.... otra vez

Hola:
Estoy haciendo una aplicacion en PHP + MySQL. Es un sistema con autentificación de usuarios.
Tengo distintos tipos de usuarios (Profesores, Capacitadores, Soporte).
Tengo creada la tabla usuarios en donde guardo login, password, email, tipo_usuario, activo.
Segun el tipo de usuario debo direccionarlo a una u otra pagina.
Ya tengo funcionando el sistema de autentificación sin ningun problema. Se me habia ocurrido agregar un campo "url" en donde almacenar la direccion hacia donde debo direccionarlo dependiendo del tipo de usuario, por ejemplo: si el usuario es Profesor debo enviarlo a "profesores/index.php"
Agregar ese campo a la tabla y agregar el valor correspondiente en cada caso no es lo complicado.
Me gustaria saber como direccionarlo una vez que se ha identificado y los datos son correctos. Me imagino que con la funcion "header" o con algun tag de html, pero no se cual ocupar y como agregar el campo "url" en donde tengo almacenada la url hacia donde debo direccionarlo.

Espero me entiendan y me ayuden.

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #2 (permalink)  
Antiguo 30/12/2003, 14:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para que sea automático la redirección .. usando header()

Es decir .. haces tu consulta a tu BD para obtener ese dato y redireccionas:

Código PHP:
header("Location: $url");
exit; 
Sólo recuerda usar cookeis o sesiones para validar a ese usuario en las páginas que tenga acceso .. Sino, cualquiera que sepa ese "URL" podría entrar directo saltandose tu "login".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 30/12/2003, 16:38
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Gracias Cluster.
Ya habia pensado lo que tu mencionas, asi que agregue un archivo de validacion de sesiones (uso sesiones para autentificar el usuario) y de esa forma me aseguro que solo un usuario registrado acceda a la pagina, además tambien controlo el tipo de usuario, es decir, si es usuario registrado pero no debe acceder a esta pagina tampoco lo dejo ingresar.

Otra cosa, despues de usar "header" siempre es necesario el exit ?



Gracias y Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #4 (permalink)  
Antiguo 31/12/2003, 06:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Es recomendable usar exit; .. si el header() que lanzas es uno de redireccionamiento como lo es "Location ..".

Se supone (en la mayoría de casos) que si mandas una cabecera de redireccción al navegador como es esa de "location" es por qué ya no quieres continuar con la ejecución del script actual, por eso .. si terminas ahí mismo la ejecución con exit; .. te ahorras más código que interpretar.

En principio es un "ahorro" de recursos (tiempo de ejecución) .. pero depende de como tengas estructurado el flujo de ese código uncluso podría ser imprescindible usarlo .. ejemplo:

Código PHP:
<?
if ($algo=="valor"){
    
header("Location: nose.php");   
}

// más instrucciones PHP/etc.
?>
Según el ejemplo .. se ejecutarán las intrucciones a continuación del IF() .. pese que usas el "location" .. ya que esa cabecera sólo le indica al navegador que "cambie" la pàgina que está viendo (o llame a otro) .. pero se entrega dicha cabecera al terminar la ejecución del script.

Podrías usar una estructura IF(){} else {} .. pero sabiendo que al ejecutar tu "location" ya no te interesa interpretar más código, puedes usar un simple if (sin else) y exit; obligatorio en ese caso.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 05:34.