Foros del Web » Programando para Internet » PHP »

Pagina referente

Estas en el tema de Pagina referente en el foro de PHP en Foros del Web. hola.. ehmm como puedo hacer para yo saber las páginas referentes que me visitan ? he visto que por ejemplo hay web's que tienen links ...
  #1 (permalink)  
Antiguo 11/12/2004, 01:20
 
Fecha de Ingreso: noviembre-2004
Mensajes: 27
Antigüedad: 13 años
Puntos: 0
Pagina referente

hola.. ehmm como puedo hacer para yo saber las páginas referentes que me visitan ?
he visto que por ejemplo hay web's que tienen links de otras y el link dice asi mas o menos..

pagina.com/referente.php?una_web

supongo que una_web queda registrada en alguna parte de mi servidor, ya sea un .txt, o en una DB no ?
bueno, si alguien sabe, porfavor díganme como o donde leer..

salu2
  #2 (permalink)  
Antiguo 11/12/2004, 03:15
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Hola.

Mira, en teoria con la variable global $_SERVER['HTTP_REFERER'], esta indica la URI desde donde vino la pc cliente (usuario), para guardar todas las paginas referentes podrías hacerlo en un txt o en una DB, yo me inclinaria por esto ultimo (no soy muy fanatico de darle permisos de escritura a archivos/carpetas). Para ello tendrías que hacer un archivo llamado referer.php y llamarlo con include() desde las paginas que quieras.

La base de datos tendría que tener 2 campos como minimo, URI_referer, IP, por lo menos para tener un control, luego podrías agregarle más campos como URI_final, para saber "a que pagina llego", entonces tendrías de donde vino, a donde fue y la ip...

Tambien tienes otra opcion, si es que trabajas con "afiliados" puedes darle un "ID" a cada afiliado, y en todas las url que el necesite pasar dicho id, por ejemplo, si mi id es "FuLaNo_" y quiero acceder a la pagina http://www.dominio.com/venta_de_productos.php podría pasar las variables de esta forma http://www.dominio.com/venta_de_prod...eferer=FuLaNo_ y cada vez que pase por la URI me sumaria 1 a la base de datos con mi id.. en fin..

Sino es eso lo que quieres, pido disculpas, es lo que yo entendí...

PD: La variable $_SERVER['HTTP_REFERER'] no siempre tiene contenido, yo la uso mucho para los errores 404, de esta forma puedo saber (la mayoria de las veces) desde donde se accedio al link que ya no funciona, y avisar al webmaster para que lo cambie, por ejemplo...
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 12/12/2004, 00:31
 
Fecha de Ingreso: noviembre-2004
Mensajes: 27
Antigüedad: 13 años
Puntos: 0
hola.. si, a eso me refiero.. hice la tabla 'referente' con los campos ip, fecha y url, después iré ampliando el script como comentas, agregar un id a cada afiliado, para saber cuantas visitas me da cierto sitio, esa es mi idea, pero por lo pronto hice esto:

CREATE TABLE `referente` (
`ip` varchar(15) NOT NULL default '',
`fecha` varchar(21) NOT NULL default '',
`url` text NOT NULL
) TYPE=MyISAM;

creada la tabla, en mi script puse el siguiente contenido..

referente.php

Código PHP:
<?PHP
@include "config.php";
$ip $REMOTE_ADDR;
$fecha date("H:i:s - d/m/Y");
$url $HTTP_REFERER;
mysql_query("insert into referente (ip, fecha, url) values ('$ip','$fecha','$url')");
echo 
"datos insertados";
mysql_close($conectar);
?>
sabiendo que config.php es el archivo que conecta con la DB.. entonces.. hice una prueba en local, puse http://localhost/web/referente.php y luego dice "datos insertados", inserta la IP, en este caso 127.0.0.1, inserta la hora y la fecha en la variable $fecha, pero no inserta $url.. porque ?
usaría un script que lo hiciera por mi, pero quiero aprender a hacerlo.. agradezco tu ayuda y las nuevas opiniones..

salu2
  #4 (permalink)  
Antiguo 12/12/2004, 00:41
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Como mencione antes, no se porque razon pero la variable $HTTP_REFERER no siempre tiene contenido, debe ser un error de PHP o solo es porque interpreta que es la misma url o similar.. no lo se, el codigo esta bien como lo hiciste.
__________________
I Love Programming...
  #5 (permalink)  
Antiguo 13/12/2004, 06:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
HTTP_REFERRER no es una variable de "PHP" sino de "servidor/entorno" .. esa variable la entrega al servidor HTTP si el "cliente" se la dá.

El "cliente" es tu navegador .. o por donde pase tu conexión .. de hecho, algunos proxys, firewalls y navegadores pueden No entregar dicha información por "seguridad" .. así que el serividor HTTP no la obtendrá y PHP no podrá accederla (no tendrá valor) en $_SERVER['HTTP_REFERER']. Es más .. dicho "valor" se puede adulterar .. por ejemplo . .usar cierto navegador que cuando conecte diga que es "otro" navegador ..

En fin . .no hay que "confiar" en dicho valor .. si está bien .. lo registras .. pero si no está no hay que darle mas vueltas ..

Un saludo,
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 05:40.