Foros del Web » Programando para Internet » PHP »

Reporte de secion de usuario

Estas en el tema de Reporte de secion de usuario en el foro de PHP en Foros del Web. hola que tal aver si me puede ayudar alguin resulta que tengo una web con un login de usuarios que estan en una base de ...
  #1 (permalink)  
Antiguo 24/06/2011, 16:07
Usuario no validado
 
Fecha de Ingreso: mayo-2011
Ubicación: Ramos Arizpe
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Reporte de secion de usuario

hola que tal aver si me puede ayudar alguin resulta que tengo una web con un login de usuarios que estan en una base de datos y necesito generar un reporte de cuanto tiempo permanecen los usuarios en la pagina web desde que inician la secion hasta que la cierran o cierran el navegador. alguien me puede ayudar.
  #2 (permalink)  
Antiguo 24/06/2011, 16:18
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 13 años, 10 meses
Puntos: 9
Respuesta: Reporte de secion de usuario

Crea una tabla de sesiones guarda el ingreso (fecha y hora) y en el <body> puedes poner una funcion en la accion onclose, y ahi registrar la salida del usuario.

Salu2
  #3 (permalink)  
Antiguo 24/06/2011, 16:35
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Reporte de secion de usuario

Cita:
Iniciado por gysato Ver Mensaje
Crea una tabla de sesiones guarda el ingreso (fecha y hora) y en el <body> puedes poner una funcion en la accion onclose, y ahi registrar la salida del usuario.

Salu2
una buena idea, en ese cas se podría guardar la fecha y hora de ingreso en una BD, lo que daría problema es la salida, tal como dices hacerlo en onclose es buena idea, pero como enviar ese valor a PHP?

AJAX no sirve por que la página se va a cerrar, un pop up que haga la insercion y se cierre automaticamente podría ser, pero es algo molesto...

obviamente se puede registrar la fecha y hora cuando el usuario se desloguee, pero como tomar cuando cierre la página?
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #4 (permalink)  
Antiguo 24/06/2011, 16:45
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 13 años, 10 meses
Puntos: 9
Respuesta: Reporte de secion de usuario

Puedes usar tambien Jquery $(window).unload(function(){ //proceso... }):
  #5 (permalink)  
Antiguo 24/06/2011, 17:08
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 13 años, 10 meses
Puntos: 9
Respuesta: Reporte de secion de usuario

Asi rapidito...

En tu pagina que tendra la accion al cerrar la ventana usas jquery

Código HTML:
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
        <script type="text/javascript">
            $(window).unload(function(){
               $.post('registrosalida.php', '', function(){
                      alert('BYE');
               }); 
            });
        </script>
    </head>
    <body>
        <!--
       CONTENIDO DE TU PAGINA....
       -->

    </body>
</html> 
Y suponiendo que guardas el id del usuario en una variable de sesion $_SESSION['idusuario'];

Tu pagina registrosalida.php sera asi:

Código PHP:
require_once('conexion.php');

mysql_query("UPDATE tutabla SET fechaSalida=NOW(),horaSalida=NOW() WHERE idusuario='".$_SESSION['idusuario']."'"); 
Y bingo tienes lo que querias... Disculpa la tardanza ando en el trabajo tu sabes ;)...

Salu2
  #6 (permalink)  
Antiguo 24/06/2011, 18:34
Usuario no validado
 
Fecha de Ingreso: mayo-2011
Ubicación: Ramos Arizpe
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Respuesta: Reporte de secion de usuario

ya lo hice pero no me sale nada sera porque no estoy guardano la id de la secsion ? me podrias decir como hacerlo.
  #7 (permalink)  
Antiguo 25/06/2011, 09:04
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 13 años, 10 meses
Puntos: 9
Respuesta: Reporte de secion de usuario

En donde registras al usuario en la BD pones esto

session_start();

//proceso para identificar al usuario

$_SESSION['idusuario']=$row['idusuario'];
  #8 (permalink)  
Antiguo 27/06/2011, 11:59
Usuario no validado
 
Fecha de Ingreso: mayo-2011
Ubicación: Ramos Arizpe
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Respuesta: Reporte de secion de usuario

alguien ayudeme porfavor aun no logro resolverlo este es el codigo que estoy utilizando.

Código PHP:
Ver original
  1. <?
  2. require_once('conexion.php');
  3. mysql_query("UPDATE usuarios SET fechaSalida=NOW(),horaSalida=NOW() WHERE idusuario=".$_SESSION['idusuario']=$row['idusuario'];
  4. ?>
  #9 (permalink)  
Antiguo 28/06/2011, 09:18
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Reporte de secion de usuario

Código PHP:
Ver original
  1. <?
  2. require_once('conexion.php');
  3. mysql_query("UPDATE usuarios SET fechaSalida=NOW(),horaSalida=NOW() WHERE idusuario='".$_SESSION['idusuario']."'";
  4. ?>

...
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #10 (permalink)  
Antiguo 28/06/2011, 09:27
Usuario no validado
 
Fecha de Ingreso: mayo-2011
Ubicación: Ramos Arizpe
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Respuesta: Reporte de secion de usuario

ok aver estoy peleandome con todo este codigo y ya tengo varios dias y ni siquiera se que es lo que tiene que pasar.

acaso es que en el registrosalida.php ai me va a arrojar los resultados de el monitoreo de usuarios o que expliquenme porfavor.
  #11 (permalink)  
Antiguo 28/06/2011, 09:36
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Reporte de secion de usuario

en teoría guarda un registro en la tabla usuarios con la fecha y hora actual

claro que debes tener creados esos campos y esa tabla.

tambien debes tener creada esa sesion (idusuario)

para ver esos registros tienes que revisar tu BD
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #12 (permalink)  
Antiguo 28/06/2011, 18:53
Usuario no validado
 
Fecha de Ingreso: mayo-2011
Ubicación: Ramos Arizpe
Mensajes: 35
Antigüedad: 13 años
Puntos: 0
Respuesta: Reporte de secion de usuario

osea que la actividad se realiza en la BD y no en el registrodesalida.php ya estoy entendiendo.
  #13 (permalink)  
Antiguo 28/06/2011, 19:13
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: Reporte de secion de usuario

Pero a todo esto lo resumiriamos cada vez que el usuario ingrese "actualiza" mas no agrega, por ejemplo si yo ingreso 5 veces en el dia solo me guardaria la ultima vez que ingrese y salga, ahora como hariamos para que guarde cada vez que iniciamos y cierre sesion ? creo que seria que en vez de "UPDATE" utilizaramos el "INSERT" esto en lo correcto, ahora que significa ese NOW() nunca lo habia visto ni utilizado.

Gracias.
  #14 (permalink)  
Antiguo 29/06/2011, 11:18
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Reporte de secion de usuario

Cita:
Iniciado por Sofmundi Ver Mensaje
Pero a todo esto lo resumiriamos cada vez que el usuario ingrese "actualiza" mas no agrega, por ejemplo si yo ingreso 5 veces en el dia solo me guardaria la ultima vez que ingrese y salga, ahora como hariamos para que guarde cada vez que iniciamos y cierre sesion ? creo que seria que en vez de "UPDATE" utilizaramos el "INSERT" esto en lo correcto, ahora que significa ese NOW() nunca lo habia visto ni utilizado.

Gracias.
es una buena idea ir insertando para crear un registro mas histórico y hacer estadisticas despues :)

el NOW() en mysql es equivalente al GETDATE() de SQL
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: reporte, usuarios
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 21:18.