Foros del Web » Programando para Internet » PHP »

Evitar sobreescribir sesiones?

Estas en el tema de Evitar sobreescribir sesiones? en el foro de PHP en Foros del Web. Holas muchachos este es mi primer post por aca pero resolvi varios de mis problemas visitandolos pero ahora me tope con algo que no se ...
  #1 (permalink)  
Antiguo 01/02/2009, 18:03
 
Fecha de Ingreso: febrero-2009
Ubicación: Cusco - Peru
Mensajes: 142
Antigüedad: 15 años, 2 meses
Puntos: 0
Evitar sobreescribir sesiones?

Holas muchachos este es mi primer post por aca pero resolvi varios de mis problemas visitandolos pero ahora me tope con algo que no se como solucionarlos espero que me ayuden.

EL problema es que tengo una pagina con usuarios y sus passwords, y para lo cual utilizo sesiones en PHP, bueno el detalle esta que utilizo la sesion de este modo:
Código:
	$_SESSION['UserID'] = $resultados['id'];
	$_SESSION['Username'] = $loginUsername;
	$_SESSION['UserGroup'] = $loginStrGroup;
como veran tengo tres variables de sesion, para el ID, nombre y grupo, los valores los recupero desde mysql, hasta ahi todo bien ya que me permite el logueo normal, el problema esta que si en el mismo navegador se loguea otro usuario sin antes cerrar la sesion del anterior los datos de este sobreescribe los del anterior usuario.

Como puedo evitar eso???

ya que mis sesiones las manejo desde mysql es decir q por cada usuario logueado se creo un registro para evitar q se loguee desde otra PC, y como no cerré sesión del primer usuario y el segundo sobreescribi estas variables de sesión, ya no puedo cerrar la sesión del primer usuario y por ende no me deja entrar nuevamente ya q mi sesión esta activa ne la Base de datos.

Pense en dos posibilidades:

1.- realizar unas variables de session distintas para cada usuario pero no lo logro, alguien sabe como???

2.- realizar el mismo proceso de hotmail que por mas que hayas cerrado la ventana de correo, si deseas entrar con otra cuenta hotmail te indica que debes cerrar primero la anterior session, [osea solo hacer o correr una session de usuario por navegador], pero esto no tengo la mas minima idea de como hacerlo.

O hay otra forma de hacerlo

Salu2 espero que me ayuden.
  #2 (permalink)  
Antiguo 01/02/2009, 18:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Evitar sobreescribir sesiones?

creo que es simple... yo hago lo mismo

cambio un flag en la BD asignado para el estado de logon/off en el sitio....

si entras se pone en 1 (on) y sales, OFF (0)

si alguien mas intenta entrar a tu cuenta desde otro lado, error... ya esta ON

si alguien mas intenta abrir su sesión en la misma PC, cierro la anterior... bingo!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/02/2009, 18:29
 
Fecha de Ingreso: junio-2008
Mensajes: 76
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Evitar sobreescribir sesiones?

Concuerdo con "pateketrueke".

Deberías de colocar una bandera (flag) que indique si el usuario ya está conectado y si alguien se intenta conectar con el mismo Username y Password... que no te permita conectarte porque en realidad ya estas conectado.
  #4 (permalink)  
Antiguo 01/02/2009, 18:35
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Evitar sobreescribir sesiones?

Lo mejor sería evitar que un usuario logueado tenga acceso al formulario de login. Sería lo contrario a las páginas restringidas, ya que sólo deberías dejar entrar a aquelos usuarios no logueados. Es sencillo si lo ves así.

Personalmente no me gusta mucho la idea de guardar flags restrictivos. Tal vez simplemente para informar al usuario sobre la actividad de su cuenta (Parecido a lo que hace Gmail), pero no hasta el punto de impedirle iniciar una nueva sesión si tiene otra activa, ya que si tu usuario sale del sitio sin cerrar su sesión, le estarás cerrando prácticamente su cuenta y no podrá entrar después. Pero bueno, depende del enfoque que tenga tu sistema.

  #5 (permalink)  
Antiguo 01/02/2009, 20:09
 
Fecha de Ingreso: febrero-2009
Ubicación: Cusco - Peru
Mensajes: 142
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Evitar sobreescribir sesiones?

No era exactamente lo que pregunte, creo q no me dejo entender , pero tome el consejo de okram, gracias man.

Salu2 xD

PD: seguire preguntando :P
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 00:33.