Debo controlar que el usuario que ingresó al sistema, no pueda loguearse nuevamente mientras su sesion este activa, es para evitar que dos usuarios distintos utilicen el mismo perfil.
Desde, muchas gracias.

| |||
![]() Hola, necesitaria que me orienten en un tema: Debo controlar que el usuario que ingresó al sistema, no pueda loguearse nuevamente mientras su sesion este activa, es para evitar que dos usuarios distintos utilicen el mismo perfil. Desde, muchas gracias. ![]() |
| |||
podes poner en la base de datos que usas para loguear un campo "loqueado" que este en true cuando esta logueado y false cuando no, de esta forma al loguerlo podes ponerlo en true y al desloguearlo en false y decirle que no se puede loguar si ya esta logueado en algun lado, que ya esta logueado en otra pc o en otra ventan o lo que sea. espero que te sirva, Saludos, Liber
__________________ Liber |
| |||
bueno yo recomendaria el uso de sesiones, y q supongamos ql el usuario cierra el navegador sin haberse deslogueado a la otra q quiera loguearse no va a poder xq en la tabla sigue estando true =P lo esencial seria sesiones session_start(); if($logueado==true) { //significa q ya esta logueado }else { session_register("nombre","usuarios","logueado"); $logueado=true; //indicas q ya esta logueado } --- y en acda pagina php tendiras q poneer session_start(); espeo q te sirva y estar en lo correcto =P |
| |||
no me percate.... yo dejo que se loguee las veces que quiera en donde sea... por lo que nunca lo pense de esa manera.... siempre se aprende!
__________________ Liber |
| ||||
Cita: Para eso se le puede dar un "tiempo de actividad"... lo que se hace para mostrar los "usuarios conectados"... y no hay mayor problema... mientras esté navegando dicho campo se mantendrá "true", pero si cierro el navegador y no me deslogueé... y si pasa un "tiempo de inactividad" definido por mí será cosa de cambiar dicho campo a "false" y no habrá problema...
Iniciado por xbust3r bueno yo recomendaria el uso de sesiones, y q supongamos ql el usuario cierra el navegador sin haberse deslogueado a la otra q quiera loguearse no va a poder xq en la tabla sigue estando true =P Respecto a lo que planteas... :-s primero decir que tu código es obsoleto... ya no hay que hacer uso de session_register() y las variables de sesión habrá que recogerlas con $_SESSION['variable']. http://www.forosdelweb.com/showthrea...989#post238989 http://www.forosdelweb.com/showthrea...998#post238998 Ahora bien... temo que dicha forma no será funcional... ve que dicho script solo se ejecutaria de "forma local", pero tengo entendido la pregunta iba dirigida a impedir un doble logueo "gobal"... esto es, supongamos que yo en mi PC me logueo con mi nombre de usuario.. todo bien, tu script me identificaria que estoy logueado... pero ahora tú, al mismo tiempo que yo, igual te loguas con MIS DATOS... en tu script al ejecutarse no estará definida la variable de sesión.. ¿qué impide que estemos los dos logueados al mismo tiempo con los mismos datos???... nada... hay que hacer uso de un dato guardado en el servidor y que sea único... buena opción es un campo de una Base de Datos como lo sugirieron... Propongo otra cosa: Hace tiempo hice un sistema para mostrar los usuarios activos entre otras cosas: http://www.forosdelweb.com/f18/saber-cuando-son-usuarios-visitantes-282742/ si no mal recuerdo hice uso de una tabla donde guardaba los datos de los usuarios conectados temporalente... la adaptación sería sencilla, tendría que agregarse una condición más: Si proviene del formulario de logueo, osease si se intentó loguarse... pero esta en la tabla que creé, donde guardo a los usuarios conectados... osease que ya estaba logueado... entonces impedir el acceso... sencillísimo ![]() Saludos! ![]()
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| |||
xbust3r El uso de sesiones para este caso particular no te va a servir .. recuerda que una sesión es "única" para el cliente que las crea . por ende .. otros "intentos" de hacer un "login" nuevo bajo esa cuenta (usuario/contraseña) no podrán "leer" las "sesiones" de otros usuarios ya han creado .. Es por eso por lo que se necesita un lugar "centralizado", lease; Base de datos, archivo de texto plano .. etc, se pueda ir leyendo información acerca del estado de esa "cuenta" como por ejemplo usando un flag que indique que está el usuario en el sistema .. o mejor todavía basandose en tiempos de inactividad y el registro de la hora/fecha del sistema ante cada iteracción con el sistema (mover páginas, pasar de un script a otro .. redireccionando ..ejecutando links .. etc), jutamente para informar al "servidor" de algo tipo "Hey .. sigo aquí!" .. y si tu consideras por ejemplo "si en tanto tiempo no se ha reportado el usuario tal .. consideraré que ya no está usando el sistema .. " así podrás "liberar" esa cuenta para permitir otro nuevo login y de hecho "sacar" al usuario que estuvo ese tiempo o mayor sin actividad alguna en el sistema ... Un saludo, |