Foros del Web » Programando para Internet » PHP »

detectar localidad con php y mostrarle información especifica

Estas en el tema de detectar localidad con php y mostrarle información especifica en el foro de PHP en Foros del Web. Hola gente, tengo un proyectito en mente y es de verificar de donde es el visitante de una web, y de acuerdo de donde es ...
  #1 (permalink)  
Antiguo 26/05/2013, 21:43
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Pregunta detectar localidad con php y mostrarle información especifica

Hola gente, tengo un proyectito en mente y es de verificar de donde es el visitante de una web, y de acuerdo de donde es mostrarle algo especifico.
Por ejemplo:

========
Si el usuario es de mexico, mostrarme las publicidades de mexico.
Si es de argentina, mostrarme las publicidades de argentina.

Ya que Google AdSense me ha eliminado la cuenta, y estoy afiliado a una pagina de publicidades, pero no es como adsense q no importaba de donde sea el usuario q el mismo se encargaba de mostrarle las publicidades correspondiente al país.
Tienen algún código en php que trabaje de la misma manera?? MUCHAS GRACIAS!!
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #2 (permalink)  
Antiguo 26/05/2013, 21:54
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: detectar localidad con php y mostrarle información especifica

Con PHP? mmm va a ser que no, PHP no controla o tiene acceso a la información de donde proviene el usuario (país), en todo caso puedes usar alguna base de datos con IP's por regiones y así saber de donde es, pero ojo, no es muy preciso que digamos, todo depende de que tan actualizada este la base de datos, y aun así no será precisa, pero algo con PHP puro y duro no hay...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 26/05/2013, 22:19
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: detectar localidad con php y mostrarle información especifica

Bueno, lo que esté a mano; si es mitad mysql y mitad php; no hay drama
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #4 (permalink)  
Antiguo 26/05/2013, 22:22
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: detectar localidad con php y mostrarle información especifica

mmm creo que no entendiste, mmm debes conseguir (buscar en internet) una base de datos (tal vez un archivo .sql) para descargar y posteriormente subir a tu propia base de datos información sobre un puñado de IP's donde se indican de que localidad es, o en el mejor de los casos un servicio donde proporcionando una IP te digan de que país es...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 26/05/2013, 22:41
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: detectar localidad con php y mostrarle información especifica

Cita:
Iniciado por Nemutagk Ver Mensaje
mmm creo que no entendiste, mmm debes conseguir (buscar en internet) una base de datos (tal vez un archivo .sql) para descargar y posteriormente subir a tu propia base de datos información sobre un puñado de IP's donde se indican de que localidad es, o en el mejor de los casos un servicio donde proporcionando una IP te digan de que país es...

Muchisimas gracias Nemutaqk, me pondre mañana a buscar. Me haz sacadod e la duda Saludos
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #6 (permalink)  
Antiguo 01/07/2013, 20:31
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Busqueda Respuesta: detectar localidad con php y mostrarle información especifica

Cita:
Iniciado por Nemutagk Ver Mensaje
mmm creo que no entendiste, mmm debes conseguir (buscar en internet) una base de datos ...
Hola Nemutagk, mira ya tengo la base de dato con la tabla; (imagen) , ya tiene su archivo creado "config.php" q hace la coneccion a la base de datos y a la tabla; pero ahora se me complico con un problemita que es este:

Código HTML:
Ver original
  1. si {IP_DEL_VISITANTE} esta en el rango IP_FROM{argentina} and IP_TO {argentina}
  2. entonces
  3. mostrarle las publicidades del pais
  4. sino
  5. si {IP_DEL_VISITANTE} esta en el rango IP_FROM{mexico} and IP_TO {mexico}
  6. entonces
  7. mostrarle las publicidades del pais
  8. sino
  9. "no esta registrado en la base de datos, no se muestra pùblicidades"
solo dame un ejemplo ??
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #7 (permalink)  
Antiguo 01/07/2013, 22:18
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Pregunta Respuesta: detectar localidad con php y mostrarle información especifica

Esto es lo que tengo:

CONFIG.PHP
Código PHP:
<?php
# Data config for connect to database server
$server           'localhost';         # Server (default:localhost)
$user_prefix      'user';              # User of hosting (default:test)
$username_mysql   $user_prefix.'_test';  # Mysql database user
$password_mysql   'pass';         # Mysql database password
$database_mysql   $user_prefix.'_test';  # Mysql database

#  Check database to host connection 
if(!function_exists('mysql_connect'))
{
    echo 
'PHP cannot find the mysql extension. MySQL is required for run. Aborting.';
    exit();
}
$conexion = @mysql_connect($server$username_mysql$password_mysql)
or die(
'Error: Database to host connection: '.mysql_error());

mysql_select_db($database_mysql$conexion)
or die(
'Error: Select database: '.mysql_error());
?>
*************
INDEX.PHP
Código PHP:
<?php
require_once('config.php');
$ip $_SERVER["REMOTE_ADDR"];
 
/* transformacion de la IP */
$dotted preg_split"/[.]+/"$ip);
$ip2 = (double) ($dotted[0]*16777216)+($dotted[1]*65536)+($dotted[2]*256)+($dotted[3]);
 
$query mysql_query("SELECT country_name FROM IPTOCOUNTRY WHERE $ip2 BETWEEN $ip_from AND ip_to",$conexion);
$resultado mysql_query($query$conexion);
$row mysql_fetch_array($resultado);

echo 
$row['country_name'];
?>
*********************
Y el error que me muestra es este:
Código:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u205532958/public_html/media/img/index.php on line 13
(En la linea 13 esta esto:)
Código PHP:
Ver original
  1. $row = mysql_fetch_array($resultado);
Links: http://worldgame.besaba.com/media/img/index.php

Que es lo que puede estar mal??
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.

Última edición por alette666; 01/07/2013 a las 22:33
  #8 (permalink)  
Antiguo 01/07/2013, 22:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: detectar localidad con php y mostrarle información especifica

La consulta puede estar mal formada, imprime el valor de mysql_error() para que entiendas el error.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 01/07/2013, 23:18
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: detectar localidad con php y mostrarle información especifica

Cita:
Iniciado por pateketrueke Ver Mensaje
La consulta puede estar mal formada, imprime el valor de mysql_error() para que entiendas el error.
Me dice esto:
Código:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u205532958/public_html/media/img/index.php on line 13 Error en la consulta: 
MySQL dice: Query was empty
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #10 (permalink)  
Antiguo 02/07/2013, 00:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: detectar localidad con php y mostrarle información especifica

Ese error ya nos lo habías mostrado primero, pensé que entenderías que buscamos el error antes del mysql_fetch_array() y después del mysql_query().

Código PHP:
Ver original
  1. $resultado = mysql_query($query, $conexion);
  2.  
  3. if ( ! $resultado) {
  4. }
  5.  
  6. $row = mysql_fetch_array($resultado);
  7.  
  8. // o...
  9.  
  10. $resultado = mysql_query($query, $conexion)
  11. or die('Error: SQL ERROR: '.mysql_error());
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 03/07/2013, 12:00
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Pregunta Respuesta: detectar localidad con php y mostrarle información especifica

Cita:
Iniciado por pateketrueke Ver Mensaje
Ese error ya nos lo habías mostrado primero, pensé que entenderías que buscamos el error antes del mysql_fetch_array() y después del mysql_query().
Ahora me aparece este error de STRING :
Código:
Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in /home/u205532958/public_html/media/img/home.php on line 15
Y en la linea 15 tengo el while

Código PHP:
<?php

#Conectamos con MySQL
$conexion mysql_connect("mysql.hostinger.com.ar","u205532958_xxx","xxxxxxxx") or die ("Fallo en el establecimiento de la conexión");
#Seleccionamos la base de datos a utilizar
mysql_select_db("u205532958_xxx") or die("Error en la selección de la base de datos");
#Efectuamos la consulta SQL
$ip $_SERVER["REMOTE_ADDR"];
/* transformacion de la IP */
$dotted preg_split"/[.]+/"$ip);
$ip2 = (double) ($dotted[0]*16777216)+($dotted[1]*65536)+($dotted[2]*256)+($dotted[3]);
 
$lcCAdena"SELECT COUNTRY_NAME FROM IPTOCOUNTRY WHERE $ip2 BETWEEN IP_FROM AND IP_TO";
#Mostramos los resultados obtenidos
while($row mysql_fetch_array($lcCAdena)) {
   echo  
$row['COUNTRY_NAME'];
}
?>
Y ahora? (ya se me funden las pocas neuronas q tenia antes de empezar)
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #12 (permalink)  
Antiguo 03/07/2013, 12:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: detectar localidad con php y mostrarle información especifica

Pues es bastante obvio, dicha función que te da error no trabaja con cadenas, eso lo puedes consultar en el manual.

Debes pasarle el resultado de la ejecución de la consulta, no la consulta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 09/07/2013, 09:45
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: detectar localidad con php y mostrarle información especifica

Cita:
Iniciado por pateketrueke Ver Mensaje
&nbsp;
Listo pateketrueke; ya lo tengo funcionando a la perfección (adiós a google AdSense), y me gustaría compartirlo con todos. En donde puedo dejarlo al código??
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.

Etiquetas: adsense, google, publicidades
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:57.