Hola...
Tengo un sitio donde los usuarios al registrarse le doy valor a una $_SESSION de su login y password.
Cómo puedo saber la cantidad de usuarios conectados y cuales usuarios son?
gracias
| |||
usuarios registrados Hola... Tengo un sitio donde los usuarios al registrarse le doy valor a una $_SESSION de su login y password. Cómo puedo saber la cantidad de usuarios conectados y cuales usuarios son? gracias |
| |||
gracias, voy a revisarla. tengo el interés de hacer en mi web algo como el phpnuke, que indica al usuario registrado quienes y cuantos usuarios hay. también, no sé, si pueda utilizar nada más que ese módulo del phpnuke. Pero, es necesario acceder a la base de datos? no existe otra forma de hacerlo utilizando las SESSION? gracias |
| ||||
respecto de lo que dice drcyber, valdria de algo contar los archivos existentes en /php/sessions (el directorio de las sesiones).
__________________ Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar. |
| |||
Hola, Cita: Si es que esta accesible, que por seguridad no debe estarlo. Ademas, creo que drcyber se referia mas bien a dominio, no a servidor.Mensaje Original por claudiovega respecto de lo que dice drcyber, valdria de algo contar los archivos existentes en /php/sessions (el directorio de las sesiones). Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
Sobre el tema de "contar" los archivos de sesión creados en el directorio que los almacenes (que podría ser definido para ese dominio/aplicación en concreto con session_save_path() por ejemplo ...) no sería del todo "real". Un "SID" (identificativo único de sesión) es válido hasta que su tiempo de expiración así lo determina .. pero .. el archivo fisicamente hasta que se ejecuta el proceso de "garbage" (recolector de basura) que borra el archivo fisicamente. Mientras tanto .. puedes tener sesiones no validas y archivos de sesión en ese directorio .. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
araujo_guntin .. Si no vas a usar PHP-Nuke por completo y sólo te interesa un "modulo" .. debes de consguirte una aplicación que haga eso por si sola .. date cuenta que son "modulos" y como tal requieren (es probable) de un montón de librerias comunes (para eso es un módulo que forma parte de ese sistema). Aplicaciones "multiproposito" para gestionar usuarios (registro, .. login .. etc) tienes muchas hechas .. las cuales están (suelen) diseñadas para que lo adaptes a tus aplicaciones. Un ejemplo sería más o menos lo que puso jpinedo .. se basa en la tabla de usuairos (SQL) que puso ..así que sólo tienes que hacerte algunos scripts para la creación del usuario en sí y añadir más campos si necesitas que tus usuarios sean registrados bajo una contraseña .. Mas Ejemplos tienes en: http://www.hotscripts.com/PHP/Script...ion/index.html y http://www.hotscripts.com/PHP/Script...ent/index.html Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
hola... encontré un scrip en hotscript.com (useronline) que me indica cuantos usuarios están online en 60 segundos. no utiliza base de datos las sessiones las guarda en un fichero texto. Ahora, conocen ustedes algún paquete que me indique cuales son los usuarios registrados que se encuentras online? espero que ya esté hecho, gracias |
| ||||
Bueno... más de uno (2) me preguntó por el script que puse arriba... dicen que no funciona y da errores en el SQL... Voy a hacer algunas aclaraciones: ANTES DE PRIMERO:Crear una tabla que tenga como mínimo esta estructura:(Si no... nada va a funcionaar)...
Código:
PRIMERO:CREATE TABLE sesiones ( usuario_nombre varchar(25) NOT NULL, tiempo varchar(14) NOT NULL, invitado int(1) NOT NULL ); Si se necesita saber la cantidad de usuarios on line diferenciando cuántos son registrados y cuántos no (invitados)... pues es evidente que hay que tener antes algún sistema de autentificación y registro de usuarios... si no, todos serán invitados. SEGUNDO: En el script no puse las conexiones a la BD porque asumí que lo harían.. por eso sale algún error por ahí... y el script, obviamente, no funciona. TERCERO: Las funciones por sí solas no se ejecutan... hay que llamar a la función. El script sería así: Un archivo "seguridad.php" que contiene la conexión a la BD: seguridad.php Código PHP: funcionOnLine.php Código PHP: Código PHP: En el lugar donde queremos mostrar el número de visitantes escribimos: Código PHP: registrados:0 invitados:(los que hayan) Yo lo probé con el Autentificator (de Cluster) y funciona bien sólo que habría que cambiar el nombre de las variables de sesion $_SESSION['usuario_nombre'] por $_SESSION['usuario_login']... Cada uno lo adapta a sus necesidades y a su sistema de autentificación. Espero que ahora sí haya quedado clarísimo para todos (si está como para FAQ)... Saludos Última edición por jpinedo; 29/11/2003 a las 01:43 |
| ||||
No acaba de rular del todo al menos a mi, me salta las ips, en lugar de los nombres de los usuarios
__________________ "Se sabe con exactitud, con cuanta imprecisión, se sabe algo" Linux Registered User #320332 |
| ||||
Es que si tu usuario no está autentificado, lo que se cuenta es la dirección ip... Como te dije.. para que funcione debes tener algún sistema de registro y autentificación de usuarios... Si ya lo tienes, se supone que la autentificación debe funcionar con sesiones y almacenar el nombre de usuario en una sesión... Pues el script que yo puse supone que todo el proceso anterior ya está hecho y que el nombre del usuario se garda en la variable de sesión $_SESSION['usuario_nombre']... Hata acá mi script no ha hecho nada... Por eso, describe cómo funciona tu sistema de autentificación (sesiones, cookies) y la variable donde guardas el nombre de usuario.. con esos datos te puedo ayudar a adaptar el script. Saludos |
| |||
gracias jpinedo, Todo me funciona de maravillas. Además de mostrar los nombres de los usuarios online, utilizando la base de datos, puedo lograr que estos se comuniquen entre sí. ah, a tu script está perfecto. ahora pretendo no solo utilizar las variables de sessión para la autentificación. también quiero utilizar cookies. seguiré estudiando el tema, y preguntando en la lista. |
| |||
ami me da error en la consulta al mostrar al parecer por no usar las variables sessions para usuarios... Osea solo uso el code como dices, y no me sirve da error y no ingresa los datos a la db... debo tener algo de Código PHP: Última edición por darksteel01; 16/07/2005 a las 15:16 |
| ||||
darksteel01: Ya casi no recuerdo las dudas de los usuarios respecto a este código. Sería bueno que leas a partir del post #14 de este mismo tema porque creo que traté de explicarlo con el mayor detalle posible. Si te sigue dando error, por favor da todos los detalles que puedas. Saludos |
| ||||
Eso debe ser porque antes de loguearte ya te reconoció como invitado. entonces según esta línea: Código PHP: Saludos |
| ||||
Bueno... el tema no es de dónde se lea esa variable... sino que exista. En tu caso si tienes una cookie llamada 'usuario_nombre', sólo cambias $_SESSION['usuario_nombre'] por $_COOKIE['usuario_nombre'] y no habrá problemas. Saludos |
| ||||
Jejeje... ZydRick: me ganaste por puesta de mano. Finalmente respondimos lo mismo. Sólo algo importante: Ya que los índices de los arrays asociativos son cadenas, deben colocarse entre comillas. No se debe utilizar $_SESSION[nombre_usuario] sino $_SESSION['nombre_usuario'] o $_SESSION["nombre_usuario"]. Aunque sin comillas funciona, el manual recomienda evitarlo debido a posibles conflictos con constantes definidas por el usuario o predefinidas en futuras versiones de PHP. Saludos |
| |||
ok ahora me pasa cuando me deslogeo o borro cookie me kedo como Usuario e Invitado. Cita: ven los 2 soy yo... usuario_nombre tiempo invitado Editar Borrar 66.50.24.158 1121565583 1 Editar Borrar [darksteel] 1121565579 0 Última edición por darksteel01; 16/07/2005 a las 19:52 |
| ||||
¿Y cuál es el problema? Ya he explicado que así debe ser, pues recién se borrarán los que no tengan actividad en 900 segundos. Si quieres que sea más preciso, reduce ese número. O incluye en el login, la eliminación del registro con tu IP. Y en el logout, la eliminación del registro con tu username. Saludos |
| |||
Cita: si eso mismo estaba tratando :D Thx
Iniciado por jpinedo ¿Y cuál es el problema? Ya he explicado que así debe ser, pues recién se borrarán los que no tengan actividad en 900 segundos. Si quieres que sea más preciso, reduce ese número. O incluye en el login, la eliminación del registro con tu IP. Y en el logout, la eliminación del registro con tu username. Saludos |