Autor Tema: Contadores  (Leído 4539 veces)

Desconectado Dj-Celta

  • PHPero Avanzado
  • ****
  • Mensajes: 398
  • Karma: 16
  • <?php Solo quiero aprender ?>
    • Ver Perfil
Re: Contadores
« Respuesta #30 en: 19 de Noviembre de 2006, 14:47:10 pm »
envcontre uno q no pone publi y ese me da error podemos empezar con el segundo que dije el de gente online?

Comunidad PHPeros

Re: Contadores
« Respuesta #30 en: 19 de Noviembre de 2006, 14:47:10 pm »

Desconectado Krosty

  • PHPer@
  • **
  • Mensajes: 75
  • Karma: 0
    • Ver Perfil
Re: Contadores
« Respuesta #31 en: 21 de Noviembre de 2006, 22:08:29 pm »
pues es casi igual solo que se ocupa una funcion ( la cual no se cual sea) para saber quien esta online, i ya despues se pondria un contador, que cuando entre se incremente y cuando salga decremente

Desconectado Raken

  • PHPero Avanzado
  • ****
  • Mensajes: 297
  • Karma: 30
  • Sexo: Masculino
    • Ver Perfil
Re: Contadores
« Respuesta #32 en: 21 de Noviembre de 2006, 23:27:21 pm »
No es tan sencillo como eso, Krosty. Solo voy a dejar esto escrito para que lo plantees:

Cuando un usuario carga la página, puedes hacer las operaciones que quieras... pero cuando sale? ¿cómo defines las acciones de cuando sale? un windows.close de javascript es insuficiente. Piensa que el navegador no solo se cierra con la X de la parte superior derecha de la ventana. Puede cortarse el proceso a través de Ctrl + Alt + supr, a través de un error de ejecución, puede que el usuario reinicie el ordenador, que se le apague -o lo apague- de golpe. ¿Cómo decrementas en esos casos?  ;)
Raken - Moderador para PHP y HTML

Desconectado Krosty

  • PHPer@
  • **
  • Mensajes: 75
  • Karma: 0
    • Ver Perfil
Re: Contadores
« Respuesta #33 en: 21 de Noviembre de 2006, 23:30:31 pm »
si lo se, se ke no es tan facil, pero solo daba en grandes rasgos como funcionaria y de ahi vieramos como funcionaria, con que funciones, etc...

Desconectado Raken

  • PHPero Avanzado
  • ****
  • Mensajes: 297
  • Karma: 30
  • Sexo: Masculino
    • Ver Perfil
Re: Contadores
« Respuesta #34 en: 21 de Noviembre de 2006, 23:33:37 pm »
Pero hay que matizar algo más, ya que dijiste "cuando sale el usuario decrementa". Esa es una función que no se puede definir por los motivos que he explicado en el mensaje anterior.
Raken - Moderador para PHP y HTML

Desconectado Krosty

  • PHPer@
  • **
  • Mensajes: 75
  • Karma: 0
    • Ver Perfil
Re: Contadores
« Respuesta #35 en: 22 de Noviembre de 2006, 05:30:02 am »
si lo se... pero debe de haber algun modo de saberlo no? o como se hacen los contadores online?

Desconectado WarezD@rK

  • PHPer@ Fijo
  • ***
  • Mensajes: 162
  • Karma: 8
  • Sexo: Masculino
  • Pasaba por aquí...
    • Ver Perfil
    • Ninguno
Re: Contadores
« Respuesta #36 en: 15 de Diciembre de 2006, 08:47:38 am »
si lo se... pero debe de haber algun modo de saberlo no? o como se hacen los contadores online?

Cuando un usuario entra al sitio, se insertan datos como por ejemplo nick, ip etc... en la base de datos de usuarios online más el "time()" de ese momento. (Time() es una función que muestra los segundos que han pasado desde el año 1970 [1 de Enero a las 0:00:00 GTM]) Más información sobre la función time() http://es.php.net/time.

Entonces, al recargar la pagina, comprueba el "time()" del usuario en la base de datos y lo compara con el actual. Luego realiza el siguiente calculo dependiendo de los segundos asignados por el programador. Por ejemplo, si queremos que cada 20 segundos de inactividad de ese usuario se elimine de la base de datos (Por inactividad damos a entender que no sigue navegando por la pagina o no ha actualizado), realizariamos el siguiente cálculo:

<?php
include("config.php");
$query mysql_query("SELECT * FROM enlinea");
while (
$datos mysql_fetch_array($query)) { //el bucle hace que se repita la operación para cada entrada de la base de datos

$campotime $datos[&#39;time&#39;]; //extraemos el valor del time() de cuando entro en la web
$actual time(); //extraemos el time() que hay ahora
$pasado $actual $campotime//esta operacion daria los seg. que han pasado desde entonces

if($pasado 20){ //si han pasado mas de 20 seg. de inactividad...
mysql_query("DELETE FROM enlinea WHERE id=&#39;".$datos[&#39;id&#39;]."&#39;") ; //borramos el usuario en linea
}

}
?>


Esto sería el algoritmo del script que simularia un seguimiento en vivo de los usuarios.

Obviamente, si un usuario que YA HABIA ENTRADO ANTES navega o actualiza la pagina, se actualizaria el campo time con el "time()" que hay en ese momento, de ésta forma si el usuario no muestra inactividad, no se elimine la entrada, pero vamos, con el algoritmo de arriba supongo que has entendido algo el funcionamiento de estos sistemas...

Un saludo.
« Última modificación: 15 de Diciembre de 2006, 08:50:19 am por WarezD@rK »
Trabajando en mi actual proyecto.

Desconectado Krosty

  • PHPer@
  • **
  • Mensajes: 75
  • Karma: 0
    • Ver Perfil
Re: Contadores
« Respuesta #37 en: 15 de Diciembre de 2006, 22:20:23 pm »
o muchas gracias muy buien explicado.. y bienvenido

Desconectado Dj-Celta

  • PHPero Avanzado
  • ****
  • Mensajes: 398
  • Karma: 16
  • <?php Solo quiero aprender ?>
    • Ver Perfil
Re: Contadores
« Respuesta #38 en: 19 de Diciembre de 2006, 15:18:24 pm »
si pasa algun mod que borre el tema ya q ya no lo necsito gracias a todos por ayudarme 8)

Desconectado WarezD@rK

  • PHPer@ Fijo
  • ***
  • Mensajes: 162
  • Karma: 8
  • Sexo: Masculino
  • Pasaba por aquí...
    • Ver Perfil
    • Ninguno
Re: Contadores
« Respuesta #39 en: 20 de Diciembre de 2006, 08:37:22 am »
¿Borrar el tema?

Yo creo que podria ser de utilidad para otros usuarios. De ello aqui viene el topico de buscar antes de preguntar. Si borran los temas que se resuelven, se volverian a crear nuevos temas con el mismo contenido.
Trabajando en mi actual proyecto.

Desconectado Dj-Celta

  • PHPero Avanzado
  • ****
  • Mensajes: 398
  • Karma: 16
  • <?php Solo quiero aprender ?>
    • Ver Perfil
Re: Contadores
« Respuesta #40 en: 20 de Diciembre de 2006, 19:19:21 pm »
ok sorry

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: Contadores
« Respuesta #41 en: 25 de Diciembre de 2006, 16:58:30 pm »
Aqui teneis el contador que funccionara 100% Seguro! Si alguien entra le suma +1 al contador!


Este usuario ya no lo uso, mi nuevo usuario es marco811