Foros del Web » Programando para Internet » PHP »

Problema de doble login

Estas en el tema de Problema de doble login en el foro de PHP en Foros del Web. Tengo una pagina donde se hace login de usuario (login.php). Cuando la página indentifica al usuario lo que hace es volver a cargarse y presentar ...
  #1 (permalink)  
Antiguo 17/01/2009, 08:31
 
Fecha de Ingreso: mayo-2007
Mensajes: 256
Antigüedad: 16 años, 11 meses
Puntos: 3
Problema de doble login

Tengo una pagina donde se hace login de usuario (login.php). Cuando la página indentifica al usuario lo que hace es volver a cargarse y presentar el mensaje "te has identificado correctamente" pero el problema es que cuando presenta ese mensaje aún aparece el enlace "identificate" del menu (que esta en index.php)con lo cual el usuario ya indentificado puede acceder de nuevo al formulario de login (user/pass). Si en ese momento el usuario pincha "indentificate" lo llevará a index.php?seccion=login lo que quiere decir que primero cargará index donde detecta la sesion y según eso pone "identificate" o "Bienvenido usuario" segun haya sesion incializada. Como la detecta pone "Bienvenido usuario" pero como el path era seccion=login vuelve a cargar el formulario de login.
¿como puedo arreglar esto?
  #2 (permalink)  
Antiguo 17/01/2009, 08:34
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema de doble login

Pon el formulario de login como una página restringida sólo para aquellos usuarios no identificados. Verificando el estado del visitante (identificado o no) muestras el formulario (y el link) o no.

  #3 (permalink)  
Antiguo 17/01/2009, 10:58
 
Fecha de Ingreso: mayo-2007
Mensajes: 256
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: Problema de doble login

Cita:
Iniciado por okram Ver Mensaje
Pon el formulario de login como una página restringida sólo para aquellos usuarios no identificados. Verificando el estado del visitante (identificado o no) muestras el formulario (y el link) o no.

Hola okram. Verás yo lo que había hecho es poner en login.php un if que si no habia sesión presentaba el formulario. Pero claro ¿y si hay sesión que presenta? Pues bien intente redirigir a la pagina inicial con un header. El problema es que el header no funciona porque la página login.php es llamdada con include dede index.php donde ya antes se ha comprobado si hay sesión o no y en consecuencia pone "Usuario" o "Identificate | Registrate" que son dos enlaces. Al haber puesto eso el header posterior no funciona.

EDITO

He solucionado el problema. Tengo una función que gestiona el contenido que se va a incluir (con include) en el index... Así que lo que he hecho ha sido decirle en la función que si lo que le llega es login (index.php?seccion=login) compruebe si hay sesión creada en caso de que la haya el include lo hace con la portada (incio.php) mientras que si no la hay haga el include con login.php.
Gracias de todas formas okram.

Última edición por harvey; 17/01/2009 a las 11:48 Razón: Solucionado.
  #4 (permalink)  
Antiguo 17/01/2009, 11:45
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema de doble login

Hay un problema de lógica en tu sistema. Es por eso que el sistema de autenticación de usuarios se debe colocar en archivos PHP aparte. Pero en fin. Si no puedes redirigir usando header(), escríbele un mensaje al usuario indicándole que ya está logueado y por lo tanto no puede ver el formulario, y dale un link para que vuelva al index. Adicionalmente puedes intentar una redirección con javascript.

Pero lo más óptimo sería que reorganices tu lógica, de manera que al inicio del script se verifique la sección, el estado del usuario, y en base a todo eso, se determine el contenido a mostrar o los procedimientos a seguir.

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 08:50.