Foros del Web » Programando para Internet » PHP »

Creacion de logs en php

Estas en el tema de Creacion de logs en php en el foro de PHP en Foros del Web. Alguien sabe el script necesario para qu se guarde las url's de donde provienen mis vistantes en un log?, un log para cada día. LUego ...
  #1 (permalink)  
Antiguo 13/05/2003, 20:10
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 15 años, 9 meses
Puntos: 0
Creacion de logs en php

Alguien sabe el script necesario para qu se guarde las url's de donde provienen mis vistantes en un log?, un log para cada día.

LUego en cada página deberá poner un include hacia ese script no? como sería?

Tengo este script en asp, el problema es que mi server no lo soporta y a ver si alguien lo tiene en php.

Un saludo y gracias por adelantado.
  #2 (permalink)  
Antiguo 13/05/2003, 20:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En hotscripts.com podras encontrar muchos scripts/aplicaciones para llevar estadisticas de accesos de tus páginas ..

http://www.hotscripts.com/PHP/Script...ffic_Analysis/

Algunos trabajan con BD para almacenar y gestionar tus estadisticas .. otros sobre un archivo de texto plano simple (un"log") ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 13/05/2003, 22:59
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 15 años, 4 meses
Puntos: 2
Hola...

Si quieres hacer tu script a mano, puedes usar la variable global $HTTP_REFERER para ver la URL de donde provienen tus visitantes y luego añades eso datos a una BD o a un archivo de texto.

Esa variable almacena la URL de donde provino el visitante. Solo tendrías que hacer un include del script en cada página para gestionar toda tu web.

El asunto es que si insertas TODAS las URLs de proveniencia de tus visitantes sobrecargarías la BD con excesivos registros. Lo que puedes hacer es sacar promedio mediante un if y verificar si la URL ya existe en tu BD. De esa forma te daría una simple referencia de la proveniencia de tus visitantes.

Podrías hacerte algo asi:

Código PHP:
<?php
//Conexión a tu BD
$ssql "INSERT INTO tabla (id,fecha,url) VALUES ('',now() ,'$HTTP_REFERER')";
$rs mysql_query($ssql);
mysql_free_result($rs);
mysql_close();
?>
Y lo guardas como origen_detect.php. Luego en cada una de tus páginas incluyes asi:

Código PHP:
<?php include('origen_detect.php'?>
Eso hará que cada página registre en la tabla la URL del visitante y la fecha de la visita; hasta podrías agregarle la IP, la dirección donde se encuentra en el momento... etc...

Es bueno que asignes una variable de control al script para que nadie vaya a acceder a origen_detect.php directamente y destruya tu BD.

Espero haberte ayudado, saludos !
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #4 (permalink)  
Antiguo 14/05/2003, 02:08
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 15 años, 9 meses
Puntos: 0
Muchas gracias a los 2. La Base de datos la tengo ocupada utilizando el softwate OsCommerce y me gustaría que los resultados de las estdísticas se me fuardaran en un archivo log, con el nombre de la fecha.


<?
$filename = ("$DOCUMENT_ROOT")&"ex"&RIGHT(YEAR(NOW),2)&DD(MONT H(NOW))&DD(DAY(NOW))&".log";
$values = "HTTP_REFERER, REMOTE_ADDR, HTTP_USER_AGENT";
$fp = fopen( $filename,"w");
fwrite( $fp, $values);
fclose( $fp );
?>


Sería algo así? mi nivel de php es muy pobre, el filename es incorrecto pero creo que será más o menos así.


A ver si me podeis hechar un cable plis.
  #5 (permalink)  
Antiguo 14/05/2003, 03:21
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
La forma en la que lo estas haciendo no es del todo correcto, ya que estas usando funciones que no son propias de php y la forma de concatenar cadenas tampoco, un ejemplo de lo que quieres hacer, de hecho algo muy sencillo seria algo asi.
Código PHP:
<?php

 $struct 
= array( 'referer' => $HTTP_REFERER,
                  
'addr' => $REMOTE_ADDR,
                  
'agent' => $HTTP_USER_AGENT );
                  
 
$file getcwd()."/"date("d_m_Y",time()).".txt";
 
$fp fopen($file,'a');
 
fwrite$fp,implode',',$struct )."\n");
 
fclose$fp );
?>
Ya lo demas seria cuestion de que le echaras mas coco.
  #6 (permalink)  
Antiguo 14/05/2003, 08:13
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 14 años, 7 meses
Puntos: 0
Mira este script que hice yo, toma la url de mi página con el artículo:

http://usuarios.lycos.es/lynxpino/ar....php?mostrar=1

Saludos
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #7 (permalink)  
Antiguo 14/05/2003, 08:34
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 15 años, 9 meses
Puntos: 0
Muchísimas gracias todos, de verdad.

Un saludo y gracias de nuevo.
  #8 (permalink)  
Antiguo 14/05/2003, 12:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por cierto yamakasiz ... que la Base de datos la tengas ocupada con una aplicación .. no implica que no puedas crear tablas a tu BD para por ejemplo usar cualquier otra aplicación que Use Base de datos junto con las tablas que ya tienes de tu osCommerce ..

Eso sí .. que las tablas las tendras mezcladas va suceder .. pero, para eso muchas aplicaciones permiten poner un "prefijo" como identificativo de las tablas que le corresponden a X aplicación .. simplemente para identificarlo mejor y que no existan conflictos entre nombres de tablas ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 14/05/2003, 17:32
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 15 años, 9 meses
Puntos: 0
Ya, pero prefiero no arriesgar la BDD, tube una mala experiencia usando la misma BDD para diferentes aplicaciones web y por si caso prefiero no tocarla (la BDD) sino es obligatorio.


Por cierto si el scipt lo tubiera en un servidor diferente de la página y cambiara la direccion en el include, los txt se crearían en el servidor donde está la página y no en el que está el script no? Es por curiosidad.

Un saludo y gracias de nuevo.
  #10 (permalink)  
Antiguo 14/05/2003, 21:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Los archivos se generaran en el servidor donde ejecutes tu script (donde esté fisicamente) ..

La mejor forma de ver esto es "probarlo" (pero ya te digo que así funciona, ademas que según los permisos de tu servidor podras o no hacer una llamada a un archivo externo a tu sitio via include("http://tal.tal/tal/scripttal.php"); ....

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 20:38.