Foros del Web » Programando para Internet » PHP »

como saber el tiempo de actividad de un usuario en una pagina en php

Estas en el tema de como saber el tiempo de actividad de un usuario en una pagina en php en el foro de PHP en Foros del Web. Hola, tengo un problema ojala pueda alguien ayudarme. Estoy realizando un sistema de examenes via internet y necesito que cada x minutos, esté o no ...
  #1 (permalink)  
Antiguo 09/11/2004, 13:25
 
Fecha de Ingreso: septiembre-2004
Mensajes: 11
Antigüedad: 19 años, 6 meses
Puntos: 0
Mensaje como saber el tiempo de actividad de un usuario en una pagina en php

Hola, tengo un problema ojala pueda alguien ayudarme.
Estoy realizando un sistema de examenes via internet y necesito que cada x minutos, esté o no contestada la pregunta se presente la siguiente estoy trabajando con php y mysql, de hecho el tiempo que cada pregunta tiene para ser respondida la almaceno en la base de datos pero no se como controlar el tiempo ya que las preguntas las presento en un ciclo asi como sus respectivas respuestas entonces como podria hacer para incluir el tiempo ahi o de alguna otra forma.

Espero que puedan ayudarme, gracias.

Última edición por Emilyc; 10/11/2004 a las 13:24 Razón: ortografia
  #2 (permalink)  
Antiguo 09/11/2004, 19:37
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Eso deberás manejarlo desde el cliente con HTML/JavaScript.
Para ponerte un ejemplo ultra sencillo... voy a utilizar el tag <meta>:
Para la pregunta 4, deberás generar una etiqueta <meta> como la siguiente:
Código:
<meta http-equiv="refresh" content="60;url=http://tuweb.com/examen.php?pregunta=5">
Donde "60" es el tiempo en segundos de duración para la pregunta 4... y "5" es la pregunta que le sigue a la 4 ... ambos valores los lees de la BD.
El ejemplo es sólo para ilustrarte que lo tienes que manejar desde el cliente. No pretendo que tomes un examen serio con ese código. Podrías complicarlo más desde JavaScript para hacerlo más seguro.

Saludos
  #3 (permalink)  
Antiguo 09/11/2004, 19:37
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading...........



Podrías crear un campo en tu base de datos para capturar la Hora de inicio, que sería cuando se abra la página y la hora de entrega que sería cuando enfia el examen por el formulario entonces si la diferencia del tiempo de entrega al tiempo que se le entregó el examen es mayor a tu exigencia das por anulado el examen.



connection closed.
__________________

Maborak Technologies
  #4 (permalink)  
Antiguo 10/11/2004, 13:34
 
Fecha de Ingreso: septiembre-2004
Mensajes: 11
Antigüedad: 19 años, 6 meses
Puntos: 0
Mensaje ya lo hice pero no funciona

Gracias Jpinedo pero como podría hacer interactuar las funciones de php con Java?
lo que pasa es que ya trate de hacerlo como me dices pero como estoy trabajando con sesiones no me permite regresar a la pagina porque esta caduca y se cierra la sesion. Podrías darme alguna idea porfis?
Mil gracias
  #5 (permalink)  
Antiguo 10/11/2004, 13:37
 
Fecha de Ingreso: septiembre-2004
Mensajes: 11
Antigüedad: 19 años, 6 meses
Puntos: 0
De hecho asi pensaba hacerlo pero el asunto es que como presento pregunta por pregunta necesito actualizar la pagina a x tiempo y es cuando ya no se como porque si presentara el examen completo talvez seria menos complicado.
De todas formas mil gracias.
  #6 (permalink)  
Antiguo 10/11/2004, 14:35
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading.........


QUetal si con javascript (lo ví una vez) hace sun contador, que vaya de 60 para atrás luego cuando llegue a cero deshabilitas el boton submit..... nose ocurrencias.



connection closed.
__________________

Maborak Technologies
  #7 (permalink)  
Antiguo 10/11/2004, 14:51
Avatar de Edypu  
Fecha de Ingreso: octubre-2003
Ubicación: La Paz - Bolivia
Mensajes: 394
Antigüedad: 20 años, 6 meses
Puntos: 1
La solución de MABORAK es la mas factible...
Cita:
Podrías crear un campo en tu base de datos para capturar la Hora de inicio, que sería cuando se abra la página y la hora de entrega que sería cuando enfia el examen por el formulario entonces si la diferencia del tiempo de entrega al tiempo que se le entregó el examen es mayor a tu exigencia das por anulado el examen.
... sobre el problema de caducidad de la página ... se lo soluciona con la funcion HEADER
  #8 (permalink)  
Antiguo 10/11/2004, 14:55
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading......


Te caduca la sesion porque seguramente con javascript le hiciste volver atras, en esto no te ayudará la funcion header, ya que tu ya mostraste el contenido al cliente (html,etc), y no podrás usar la funcion header.

Además todo si quieres medir el tiempo y tu cliente vea cuanto tiempo le sobra lo mejor es usar javascript, en su sección podrían ayudarte mejor.



connection closed.
__________________

Maborak Technologies
  #9 (permalink)  
Antiguo 10/11/2004, 15:01
 
Fecha de Ingreso: septiembre-2004
Mensajes: 11
Antigüedad: 19 años, 6 meses
Puntos: 0
ok Edypu me parece factible la solucion de MABORAK pero el problema reside en que no puedo anular el examen completo, como ya decia presento una a una las preguntas y si no es contestada la anulo pero no debo anulalo por completo si me entiendes?

Y como puedo utilizar el header, lo que pasa es que lo he tratado de utilizar pero a la hora de enviar datos por el formulario me marca error.
  #10 (permalink)  
Antiguo 10/11/2004, 15:05
 
Fecha de Ingreso: septiembre-2004
Mensajes: 11
Antigüedad: 19 años, 6 meses
Puntos: 0
ok, si, pero como puedo hacer interactuar el codigo de javascript con el codigo php que utilizo para presentar la informacion de la base de datos?
  #11 (permalink)  
Antiguo 10/11/2004, 15:20
Avatar de Edypu  
Fecha de Ingreso: octubre-2003
Ubicación: La Paz - Bolivia
Mensajes: 394
Antigüedad: 20 años, 6 meses
Puntos: 1
La funcion Header es muy poderosa.

Una página caduca cuando no se envian argumentos a tu página, generalmente tu página caduca cuando usas variables de tipo hiden, tienes que usar un puente de redireción para eso usas la funcion HEADER con los argumentos, asi tu pagina no caducará, la funcion HEADER siempre hay que definirla en funciones o sentencias SELECTIVAS (if, else, switch, etc). y antes del codigo HTML.

Se puede utilizar JAVASCRIPT pero tienes que tener en cuenta que el alumno puede usar otro browser diferente al internet Explorer.

El consejo que te doy es utilizar BD, controlar tiempos en función al SID o IP, si tu SID ó IP deacuerdo al tiempo que tu estableciste se mantiene, podrás suponer que el alumno esta a tiempo o si es que el tiempo ya paso anular acceso al examen.

Salu2

Última edición por Edypu; 10/11/2004 a las 15:21
  #12 (permalink)  
Antiguo 10/11/2004, 22:46
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Yo sigo opinando que lo mejor es manejarlo desde el cliente porque es más fácil controlar el tiempo real utilizado para cada pregunta... además el problema está planteado en la pregunta original... no se trata de anular preguntas si se pasaron del tiempo...
Emilyc:
Lo que has debido hacer es postear un poco de código para saber cómo lo estás haciendo y de esa manera descubrir errores.
Primero debes resolver tu problema desde JavaScript. El problema es el siguiente:
Teniendo un número de segundos que quiero que se muestre un formulario... al acabarse el tiempo debe hacerse automáticamente el "submit".... eso debes buscarlo en el foro de JavaScript... una vez que tengas eso, desde PHP sólo debes generar ese código javaScript.

saludos
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 14:00.