Foros del Web » Programando para Internet » PHP »

Duda visitas online

Estas en el tema de Duda visitas online en el foro de PHP en Foros del Web. Hola amigos! Me gustaria implementar en mi sitio un script que me muestre las paginas que estan siendo visitadas actualmente en mi sitio, solo encuentro ...
  #1 (permalink)  
Antiguo 18/08/2010, 17:37
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 14 años, 5 meses
Puntos: 0
Duda visitas online

Hola amigos!
Me gustaria implementar en mi sitio un script que me muestre las paginas que estan siendo visitadas actualmente en mi sitio, solo encuentro contadores de visitas o cosas asi , por lo cual decidi consultarlo aqui.

Lo que quiero es algo por ejemplo como lo que hace un contador de visitas de whos.among.us que me muestra algo asi:

www.misitio.com/pagina5.html - 75 online
www.misitio.com/pagina2.html - 63 online
.
.
www.misitio.com/pagina6.html - 2 online

para ponerlo en mi pagina web y que las visitas vean cuales son las paginas mas vistas en ese momento.

Si alguien sabe como porfavor ayudenme o guienme o mandenme algun tutorial o algo asi :P.
De antemano gracias .
PD: No se si estoy posteando en el foro correcto , pero me imagino que se hace con PHP ya que es del lado del servidor, aunque quizas sea con ajax o algo asi.
  #2 (permalink)  
Antiguo 18/08/2010, 21:26
Avatar de camsworksinc  
Fecha de Ingreso: julio-2008
Ubicación: Queretaro
Mensajes: 261
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: Duda visitas online

Puedes utilizar la variable global $_SERVER para obtener el nombre de la pagina actual que se esta ejecutando, e incrementar un contador en la base de datos. Algo asi mas o menos:

Código PHP:
Ver original
  1. <?php
  2.  $pagina_actual = $_SERVER["SCRIPT_NAME"];
  3. $query="UPDATE Mi_Tabla SET Contador=Contador+1 WHERE Pagina='".$pagina_actual."'";
  4. $resultado=mysql_query ($query);
  5. ?>

y poner lo anterior al inicio de cada una de las paginas que tiene tu sitio. Incluso puedes poner el codigo anterior en un archivo separado (por ejemplo: actualiza_contadores_pagina.php), e incluirlo en cada pagina de la forma siguiente:
Código PHP:
Ver original
  1. <?php
  2. include ("actualiza_contadores_pagina.php");
  3. ?>
__________________
¡Malditas computadoras que siempre hacen lo que les DIGO que hagan, no lo que QUIERO que hagan!
  #3 (permalink)  
Antiguo 18/08/2010, 21:28
 
Fecha de Ingreso: agosto-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Duda visitas online

IMAGINO!!!! que es viableeeeeee.... que este hecho con ajax... osea.... cada X tiempo hace un XMLHTTPREQUEST loco le tira la pagina que actualmente browsea a un codigo php..... a su vez este codigo puede devolver las estadisticas de las paginas que recibieron este "sincronismo" en los ultimo X segundos (numero que consideres significativo)...
  #4 (permalink)  
Antiguo 18/08/2010, 21:28
 
Fecha de Ingreso: agosto-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Duda visitas online

Cita:
Iniciado por camsworksinc Ver Mensaje
Puedes utilizar la variable global $_SERVER para obtener el nombre de la pagina actual que se esta ejecutando, e incrementar un contador en la base de datos. Algo asi mas o menos:

Código PHP:
Ver original
  1. <?php
  2.  $pagina_actual = $_SERVER["SCRIPT_NAME"];
  3. $query="UPDATE Mi_Tabla SET Contador=Contador+1 WHERE Pagina='".$pagina_actual."'";
  4. $resultado=mysql_query ($query);
  5. ?>

y poner lo anterior al inicio de cada una de las paginas que tiene tu sitio. Incluso puedes poner el codigo anterior en un archivo separado (por ejemplo: actualiza_contadores_pagina.php), e incluirlo en cada pagina de la forma siguiente:
Código PHP:
Ver original
  1. <?php
  2. include ("actualiza_contadores_pagina.php");
  3. ?>

Creo que eso seria un contador de visitas por pagina.
  #5 (permalink)  
Antiguo 28/08/2010, 18:34
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Duda visitas online

Gracias a los que me contestaron.... bueno la idea de camsworksinc es buena pero creo que estaria siendo un contador de visitas por pagina.
Y lo de cloud pues no entendi nada jaja
No hay alguien que sepa de un tutorial o algo asi para hacerlo? :(
Gracias
  #6 (permalink)  
Antiguo 28/08/2010, 18:49
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 27
Respuesta: Duda visitas online

1. Usa el mismo código que han posteado aquí, pero añadiendo una nueva columna datetime en la que almacenarás la fecha y hora en la que se ha grabado esa visita.

2. Cada vez que necesites hacer la lista esa de páginas consultas las visitas para cada página que estén por encima de una fecha límite, es decir, por ejemplo, todas las visitas que hace menos de 3 minutos que se han grabado.

3. Necesitas un archivo PHP que se ejecute periódicamente (o que te encargues tu de ejecutarlo) y que borre todas las propuestas más antiguas que la fecha límite (en nuestro ejemplo 3 minutos). Sino la base de datos se te llenaría enseguida con visitas antiguas.

¿Te ha sido útil? ¿Te explico algún punto más en profundidad?
  #7 (permalink)  
Antiguo 29/08/2010, 19:10
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Duda visitas online

Cita:
Iniciado por perryjr Ver Mensaje
1. Usa el mismo código que han posteado aquí, pero añadiendo una nueva columna datetime en la que almacenarás la fecha y hora en la que se ha grabado esa visita.

2. Cada vez que necesites hacer la lista esa de páginas consultas las visitas para cada página que estén por encima de una fecha límite, es decir, por ejemplo, todas las visitas que hace menos de 3 minutos que se han grabado.

3. Necesitas un archivo PHP que se ejecute periódicamente (o que te encargues tu de ejecutarlo) y que borre todas las propuestas más antiguas que la fecha límite (en nuestro ejemplo 3 minutos). Sino la base de datos se te llenaría enseguida con visitas antiguas.

¿Te ha sido útil? ¿Te explico algún punto más en profundidad?

Creo que he entendido lo que me dices...
Seria algo asi:
Tabla visitas:Pagina , Contador, Fecha

y en el php seria algo asi

if(paginaviendose ya existe) contador ++;
else insert into tabla visitas value (pagina,0,now())

y borro todas las filas cada cierto tiempo

eso es?

Etiquetas: visitas
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 15:01.