Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Saber la provincia que visita mi página web.

Estas en el tema de Saber la provincia que visita mi página web. en el foro de PHP en Foros del Web. Hola por favor necesito saber como puedo saber la provincia de España que visita mi web. El código que tengo sólo me dice el pais. ...
  #1 (permalink)  
Antiguo 30/04/2014, 15:58
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Saber la provincia que visita mi página web.

Hola por favor necesito saber como puedo saber la provincia de España que visita mi web. El código que tengo sólo me dice el pais.

Código Javascript:
Ver original
  1. <?php
  2. include "geoiploc.php";
  3.  
  4. $fecha=time();
  5. $fecha_format= date ( "Y/m/d" , $fecha );
  6. $hora_format=date("H:i:s", $fecha);
  7.  
  8.  
  9. $ip = $_SERVER["REMOTE_ADDR"];
  10. $pagina=$_SERVER["REQUEST_URI"];
  11. $pagina_viene=$_SERVER["HTTP_REFERER"];
  12.  
  13. $pais= getCountryFromIP($ip, " NamE ");
  14.  
  15. $sql="INSERT INTO visitas SET ip='$ip', fecha='$fecha_format', hora='$hora_format', pagina='$pagina', viene='$pagina_viene', pais='$pais'";
  16.  
  17. mysql_query($sql);
  18. ?>


Gracias y un saludo
  #2 (permalink)  
Antiguo 30/04/2014, 18:03
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 10 meses
Puntos: 2237
Respuesta: Saber la provincia que visita mi página web.

Utiliza una librería que te permita detectar la región, como GeoLite City, que puedes descargar en: http://dev.maxmind.com/geoip/legacy/geolite/
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 01/05/2014, 13:24
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Saber la provincia que visita mi página web.

Cita:
Iniciado por Triby Ver Mensaje
Utiliza una librería que te permita detectar la región, como GeoLite City, que puedes descargar en: http://dev.maxmind.com/geoip/legacy/geolite/
Gracias Triby, he descargado los archivos (GeoIP.dat, GeoLiteCity.dat ) pero ahora como lo hago ?

Gracias
  #4 (permalink)  
Antiguo 01/05/2014, 21:26
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 10 meses
Puntos: 2237
Respuesta: Saber la provincia que visita mi página web.

Si descargaste el archivo comprimido, ahí encontrarás documentación y ejemplos.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 02/05/2014, 01:33
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Saber la provincia que visita mi página web.

Cita:
Iniciado por Triby Ver Mensaje
Si descargaste el archivo comprimido, ahí encontrarás documentación y ejemplos.
Perdona Triby pero no veo en nigún archivo comprimido la documentación ni los ejemplos.
  #6 (permalink)  
Antiguo 02/05/2014, 13:21
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 9 meses
Puntos: 397
Respuesta: Saber la provincia que visita mi página web.

Pues con todo el respeto, debes de aprender a buscar la información no esperes que todo te lo den mascado. Siempre que uses algún plugin o librería esta tiene su respectiva documentación, ya sea en la misma página de donde la descargaste o bien en el comprimido.

Ahora bien, si no hay documentación en el comprimido, que te costaba navegar por la misma página y encontrar la documentación? Allí aparece la documentación de tres librerías distintas, verifica cual de ellas descargaste y léela. Suerte

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 02/05/2014, 15:54
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Saber la provincia que visita mi página web.

Cita:
Iniciado por jonni09lo Ver Mensaje
Pues con todo el respeto, debes de aprender a buscar la información no esperes que todo te lo den mascado. Siempre que uses algún plugin o librería esta tiene su respectiva documentación, ya sea en la misma página de donde la descargaste o bien en el comprimido.

Ahora bien, si no hay documentación en el comprimido, que te costaba navegar por la misma página y encontrar la documentación? Allí aparece la documentación de tres librerías distintas, verifica cual de ellas descargaste y léela. Suerte

Saludos
Perdonad mi ignorancia pero no encuentro por ningún sitio la documentación. Los archivos son bases de datos y no hay ningún manual ni ejemplos.
  #8 (permalink)  
Antiguo 02/05/2014, 18:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 10 meses
Puntos: 2237
Respuesta: Saber la provincia que visita mi página web.

El enlace que te proporcionó jonni09lo es el manual de las librerías de MaxMind, pero, si no encuentras lo que buscas, san google es muy bueno con esas cosas: https://www.google.com.mx/#q=geoip+city+lite+tutorial

El primer resultado de la búsqueda tiene todo lo que necesitas.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 03/05/2014, 01:55
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Saber la provincia que visita mi página web.

Cita:
Iniciado por Triby Ver Mensaje
El enlace que te proporcionó jonni09lo es el manual de las librerías de MaxMind, pero, si no encuentras lo que buscas, san google es muy bueno con esas cosas: https://www.google.com.mx/#q=geoip+city+lite+tutorial

El primer resultado de la búsqueda tiene todo lo que necesitas.
Ok, gracias
  #10 (permalink)  
Antiguo 03/05/2014, 06:35
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 2 meses
Puntos: 292
Respuesta: Saber la provincia que visita mi página web.

Muy buena esa base datos! en fin..... habia buscado la documentacion para colaborarle al compañero y la deje donde no era.... pense algun moderador se daria cuenta y la moveria :P

Código PHP:
Ver original
  1. #!/usr/bin/php -q
  2. <?php
  3.  
  4. // This code demonstrates how to lookup the country, region, city,
  5. // postal code, latitude, and longitude by IP Address.
  6. // It is designed to work with GeoIP/GeoLite City
  7.  
  8. // Note that you must download the New Format of GeoIP City (GEO-133).
  9. // The old format (GEO-132) will not work.
  10.  
  11. include("geoipcity.inc");
  12. include("geoipregionvars.php");
  13.  
  14. // uncomment for Shared Memory support
  15. // geoip_load_shared_mem("/usr/local/share/GeoIP/GeoIPCity.dat");
  16. // $gi = geoip_open("/usr/local/share/GeoIP/GeoIPCity.dat",GEOIP_SHARED_MEMORY);
  17.  
  18. $gi = geoip_open("/usr/local/share/GeoIP/GeoLiteCityv6.dat",GEOIP_STANDARD);
  19.  
  20. $record = geoip_record_by_addr_v6($gi,"::24.24.24.24");
  21. print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "\n";
  22. print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "\n";
  23. print $record->city . "\n";
  24. print $record->postal_code . "\n";
  25. print $record->latitude . "\n";
  26. print $record->longitude . "\n";
  27. print $record->metro_code . "\n";
  28. print $record->area_code . "\n";
  29. print $record->continent_code . "\n";
  30.  
  31. geoip_close($gi);
  32.  
  33. ?>

Sacado de MaxMind usando Google:

http://www.maxmind.com/download/geoi...le_city-v6.php
http://dev.maxmind.com/geoip/legacy/install/country/

Posteado hace 1 dia en el hilo equivocado
__________________
Salu2!
  #11 (permalink)  
Antiguo 03/05/2014, 11:53
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Saber la provincia que visita mi página web.

Cita:
Iniciado por Italico76 Ver Mensaje
Muy buena esa base datos! en fin..... habia buscado la documentacion para colaborarle al compañero y la deje donde no era.... pense algun moderador se daria cuenta y la moveria :P

Código PHP:
Ver original
  1. #!/usr/bin/php -q
  2. <?php
  3.  
  4. // This code demonstrates how to lookup the country, region, city,
  5. // postal code, latitude, and longitude by IP Address.
  6. // It is designed to work with GeoIP/GeoLite City
  7.  
  8. // Note that you must download the New Format of GeoIP City (GEO-133).
  9. // The old format (GEO-132) will not work.
  10.  
  11. include("geoipcity.inc");
  12. include("geoipregionvars.php");
  13.  
  14. // uncomment for Shared Memory support
  15. // geoip_load_shared_mem("/usr/local/share/GeoIP/GeoIPCity.dat");
  16. // $gi = geoip_open("/usr/local/share/GeoIP/GeoIPCity.dat",GEOIP_SHARED_MEMORY);
  17.  
  18. $gi = geoip_open("/usr/local/share/GeoIP/GeoLiteCityv6.dat",GEOIP_STANDARD);
  19.  
  20. $record = geoip_record_by_addr_v6($gi,"::24.24.24.24");
  21. print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "\n";
  22. print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "\n";
  23. print $record->city . "\n";
  24. print $record->postal_code . "\n";
  25. print $record->latitude . "\n";
  26. print $record->longitude . "\n";
  27. print $record->metro_code . "\n";
  28. print $record->area_code . "\n";
  29. print $record->continent_code . "\n";
  30.  
  31. geoip_close($gi);
  32.  
  33. ?>

Sacado de MaxMind usando Google:

http://www.maxmind.com/download/geoi...le_city-v6.php
http://dev.maxmind.com/geoip/legacy/install/country/

Posteado hace 1 dia en el hilo equivocado
Gracias, he hecho esto pero sigue sin darme la ciudad. Me da el pais, la ip, la longitud y la latitud.

Código Javascript:
Ver original
  1. <?php
  2.  
  3. include("include/geoipcity.inc");
  4. include("include/geoipregionvars.php");
  5.  
  6.  
  7.  
  8. $giCity = geoip_open("include/GeoLiteCity.dat",GEOIP_STANDARD);
  9.  
  10. $ip = $_SERVER["REMOTE_ADDR"];
  11.  
  12. $record = geoip_record_by_addr($giCity, $ip);
  13.  
  14. echo "Getting Country and City detail by IP Address <br /><br />";
  15.  
  16. echo "IP: " . $ip . "<br /><br />";
  17.  
  18. echo "Country Code: " . $record->country_code .  "<br />" .
  19.      "Country Code3: " . $record->country_code . "<br />" .
  20.      "Country Name: " . $record->country_name . "<br />" .
  21.      "Region Code: " . $record->region . "<br />" .
  22.      "Region Name: " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "<br />" .
  23.      "City: " . $record->city . "<br />" .
  24.      "Postal Code: " . $record->postal_code . "<br />" .
  25.      "Latitude: " . $record->latitude . "<br />" .
  26.      "Longitude: " . $record->longitude . "<br />" .
  27.      "Metro Code: " . $record->metro_code . "<br />" .
  28.      "Area Code: " . $record->area_code . "<br />" ;
  29.  
  30. geoip_close($giCity);
  31.  
  32.  
  33. ?>
  #12 (permalink)  
Antiguo 03/05/2014, 12:28
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 2 meses
Puntos: 292
Respuesta: Saber la provincia que visita mi página web.

Puede ser que no todas las latitudes y longitudes o todas las ciudades esten....... has probado con varias ciudades ? digamos las coordenadas de Madrid ?

Lo que hacen en general estos sistemas en interpolar entre coordenadas asi que si tus coordenadas no pertenecen a ningun rango, no va a encontrar la ciudad
__________________
Salu2!
  #13 (permalink)  
Antiguo 03/05/2014, 12:39
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Saber la provincia que visita mi página web.

Cita:
Iniciado por Italico76 Ver Mensaje
Puede ser que no todas las latitudes y longitudes o todas las ciudades esten....... has probado con varias ciudades ? digamos las coordenadas de Madrid ?

Lo que hacen en general estos sistemas en interpolar entre coordenadas asi que si tus coordenadas no pertenecen a ningun rango, no va a encontrar la ciudad
Ok, llevas razón he puesto la ip 66.160.159.102 y funciona perfectamente.


Código Javascript:
Ver original
  1. Getting Country and City detail by IP Address
  2.  
  3. IP: 66.160.159.102
  4.  
  5. Country Code: US
  6. Country Code3: US
  7. Country Name: United States
  8. Region Code: CA
  9. Region Name: California
  10. City: Fremont
  11. Postal Code: 94539
  12. Latitude: 37.5155
  13. Longitude: -121.8962
  14. Metro Code: 807
  15. Area Code: 510

Como puedo ingresar esos datos en la base de datos porque yo sólo veo la variable $record y me gustaría tambien ingresar la ciudad, región, latitud, etc.... ??????

Código Javascript:
Ver original
  1. $sql="INSERT INTO visitas SET ip='$ip', fecha='$fecha_format', hora='$hora_format', pagina='$pagina', viene='$pagina_viene', pais='$pais'";

Gracias y un saludo

Última edición por satjaen; 03/05/2014 a las 13:24
  #14 (permalink)  
Antiguo 06/05/2014, 01:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 10 meses
Puntos: 2237
Respuesta: Saber la provincia que visita mi página web.

Es contra las políticas de FDW "subir" temas; ten paciencia, no siempre hay alguien conectado que tenga la respuesta a tu duda, puede tardar días o, incluso, semanas.

$record no es, precisamente, una variable, sino un objeto y tú mismo colocaste código donde se puede ver cómo acceder a cada una de sus propiedades:

Código PHP:
Ver original
  1. echo "Country Code: " . $record->country_code .  "<br />" .
  2.      "Country Code3: " . $record->country_code . "<br />" .
  3.      "Country Name: " . $record->country_name . "<br />" .
  4.      "Region Code: " . $record->region . "<br />" .
  5.      "Region Name: " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "<br />" .
  6.      "City: " . $record->city . "<br />" .
  7.      "Postal Code: " . $record->postal_code . "<br />" .
  8.      "Latitude: " . $record->latitude . "<br />" .
  9.      "Longitude: " . $record->longitude . "<br />" .
  10.      "Metro Code: " . $record->metro_code . "<br />" .
  11.      "Area Code: " . $record->area_code . "<br />" ;

Entonces, si necesitas el código de región, basta con asignar a una variable el valor de $record->region, si necesitas el nombre de la ciudad, lo tienes en $record->city.

Ejemplo:
Código PHP:
Ver original
  1. $ciudad = $record->city;
  2.  
  3. // Si vas a usar uno de esos datos en una cadena, enciérralos entre llaves:
  4. $sql = "SET ciudad = '{$region->city}'";
__________________
- León, Guanajuato
- GV-Foto
  #15 (permalink)  
Antiguo 06/05/2014, 01:46
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Saber la provincia que visita mi página web.

Cita:
Iniciado por Triby Ver Mensaje
Es contra las políticas de FDW "subir" temas; ten paciencia, no siempre hay alguien conectado que tenga la respuesta a tu duda, puede tardar días o, incluso, semanas.

$record no es, precisamente, una variable, sino un objeto y tú mismo colocaste código donde se puede ver cómo acceder a cada una de sus propiedades:

Código PHP:
Ver original
  1. echo "Country Code: " . $record->country_code .  "<br />" .
  2.      "Country Code3: " . $record->country_code . "<br />" .
  3.      "Country Name: " . $record->country_name . "<br />" .
  4.      "Region Code: " . $record->region . "<br />" .
  5.      "Region Name: " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "<br />" .
  6.      "City: " . $record->city . "<br />" .
  7.      "Postal Code: " . $record->postal_code . "<br />" .
  8.      "Latitude: " . $record->latitude . "<br />" .
  9.      "Longitude: " . $record->longitude . "<br />" .
  10.      "Metro Code: " . $record->metro_code . "<br />" .
  11.      "Area Code: " . $record->area_code . "<br />" ;

Entonces, si necesitas el código de región, basta con asignar a una variable el valor de $record->region, si necesitas el nombre de la ciudad, lo tienes en $record->city.

Ejemplo:
Código PHP:
Ver original
  1. $ciudad = $record->city;
  2.  
  3. // Si vas a usar uno de esos datos en una cadena, enciérralos entre llaves:
  4. $sql = "SET ciudad = '{$region->city}'";
Muchas gracias Triby, como estaba la consulta ya tan atrasada pensaba que no se entendia lo que quería hacer.

Un saludo
  #16 (permalink)  
Antiguo 06/05/2014, 03:38
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Saber la provincia que visita mi página web.

Pero Triby creo que te has equivocado no ?
Cita:
Ejemplo:
Código PHP:
Ver original
  1. $ciudad = $record->city;
  2.  
  3. // Si vas a usar uno de esos datos en una cadena, enciérralos entre llaves:
  4. $sql = "SET ciudad = '{$region->city}'";
Sería así:

Ejemplo:
Código PHP:
Ver original
  1. $ciudad = $record->city;
  2.  
  3. // Si vas a usar uno de esos datos en una cadena, enciérralos entre llaves:
  4. $sql = "SET ciudad = '{$record->city}'";


Un saludo
  #17 (permalink)  
Antiguo 06/05/2014, 12:14
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 10 meses
Puntos: 2237
Respuesta: Saber la provincia que visita mi página web.

Sí, "error de desvelado", afortunadamente lo notaste y solucionaste el problema.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: fecha, mysql, página, provincia, sql
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 17:31.