Foros del Web » Programando para Internet » PHP »

Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Estas en el tema de Contenido (HTML) diferente según procedencia/país (geolocalizacion) en el foro de PHP en Foros del Web. Buenas, llevo buscando y he encontrado algunas cosas parecidas pero no exactamente lo que ando buscando.. Necesito mostrar un código PHP/HTML distinto según el país ...
  #1 (permalink)  
Antiguo 03/08/2012, 04:32
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Buenas, llevo buscando y he encontrado algunas cosas parecidas pero no exactamente lo que ando buscando..

Necesito mostrar un código PHP/HTML distinto según el país de procedencia.

Por ejemplo, pongo código que querría mostrar según el país:

Visita de españa:

Código:
<p align="center"><font face="Arial Black">Esto es un ejemplo para ESPAÑA con <u>
<a href="/espana.php">link</a></u></font></p>
<p align="center"><img border="0" src="/espana.jpg"></p>
Visita de chile:

Código:
<p align="center"><font face="Arial Black">Esto es un ejemplo para CHILE con <u>
<a href="/chile.php">link</a></u></font></p>
<p align="center"><img border="0" src="/chile.jpg"></p>
Visita de los demás sitios: (default)

Código:
<p align="center"><font face="Arial Black">Esto es un ejemplo para LOS DEMAS PAISES (DEFAULT) con <u>
<a href="/default.php">link</a></u></font></p>
<p align="center"><img border="0" src="/default.jpg"></p>
Supongo que me he explicado bien.

Un saludo y toda ayuda es bien recibida!

Última edición por blogdv; 03/08/2012 a las 04:34 Razón: titulo mas descriptivo
  #2 (permalink)  
Antiguo 03/08/2012, 04:43
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Si lo único que quieres es cambiar la bandera tal vez este código que facilitan en geoiptool te sirva:

http://www.geoiptool.com/es/webtools/

de todas formas en mi primera búsqueda de google encontre formas y formas de como hacerlo, ¿sólo lo quieres para poner una bandera del país o algo más?

De todas formas creo que puedes recoger el nombre del pais que te da el código html de webtools con el código ese y ya con eso está chupado.


También me suena que en algún sitio ofrecian un archivo CSV con la equivalencia de ip's y paises pero no caigo donde.
  #3 (permalink)  
Antiguo 03/08/2012, 14:01
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Gracias, miraré haber si me sirve o saco algo..
No solo las banderas, sino, el texto que aparece, que se muestre diferente según el país.

Es decir un código HTML distinto según el país de procedencia digamos..

Un saludo y gracias
  #4 (permalink)  
Antiguo 04/08/2012, 03:36
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

He mirado el sitio que me pasaste y claro con ello puedo hacer alguna cosa, pero nada que ver..
Es sencillo de explicar, lo complido será hacerlo supongo.
Simplemente es mostrar un HTML diferente según el país de procedencia, pero no mostrar una pagina diferente, sino un código diferente en la misma pagina.

Saludos y gracias
  #5 (permalink)  
Antiguo 04/08/2012, 11:46
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

La idea es igual, debes filtrar la IP de los usuarios para saber de donde son, después ya en tu código PHP muestras el código perteneciente a cada pais, en general lo que pretendes es "geolocation for ip", paro debes entender que:

a) las listas de IP no son tan actuales
b) no son 100% seguras (en el pais asociado)
__________________
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 =)
  #6 (permalink)  
Antiguo 05/08/2012, 02:38
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

No existe algún cófigo php o algo sencillo para simplemente mostrar una imagen a los visitantes de españa por ejemplo, y a los demás no mostrar dicha imagen?

De igual manera, gracias por la informacion.
  #7 (permalink)  
Antiguo 05/08/2012, 08:20
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

No, no hay forma en PHP puro para saber la procedencia del usuario, es necesario acceso a servicios especializados...
__________________
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 =)
  #8 (permalink)  
Antiguo 05/08/2012, 10:34
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Bueno pues tendré que provar hacerlo así..
Me poría alguien guiar un poco, quiero decir, algo de código, o alguna explicación mas detallada..?

Soy novatillo en el tema de programar y leo tutoriales y pregunto, voy haciendo lo que puedo por eso una ayuda se agradece la verdad.

Un saludo y gracias
  #9 (permalink)  
Antiguo 05/08/2012, 11:17
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Averiguar el país o región de quien me visita de acuerdo a IP, es relativamente fácil con varios datos reportados.

Otro tema es saber la última actualización de los datos, así como el uso de proxys para ocultar su IP. por parte de los usuarios.

abimaelrc publicaba un aporte muy completo que merece ser atendido.

Por usar un sistema fácil (que particularmente lo utilizo para saber las coordenadas de quien me visita y centrar los mapas a su área geográfica) es geoip.js Si pinchas en este enlace verás (javascript == usuario) varios datos (tuyos porque eres en ese momento el usuario) que puedes recogerlos:

Puedes hacer una prueba:
Añade en el head:
Código HTML:
Ver original
  1. <script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>
A continuación, veamos algunos alert:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. alert (geoip_country_code());
  3. alert (geoip_country_name());
  4. alert (geoip_city());
  5. alert (geoip_region_name());
  6. alert (geoip_latitude());
  7. alert (geoip_longitude());
  8. </script>
Si esto es suficiente, será fácil cambiar imágenes, secciones de códido o páginas para el visitante.

Si esto no es suficiente y quieres saber exactamente dónde se encuentra la persona que te visita, tenemos que recurrir a la geolocalización y solicitar que el usuario autorice la información de su ubicación. Ver w3c geolocalización
  #10 (permalink)  
Antiguo 05/08/2012, 11:28
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Muchisimas gracias, ya voy entendiendo por donde va la cosa.
Con eso digamos que recojo información del lugar del visitante.

Ahora mi problema será, como hacer para mostrar una imagen solo para un determinado país y ocultarla a todos los demas paises..

Muchas gracias por eso, gran ayuda!
  #11 (permalink)  
Antiguo 05/08/2012, 11:43
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Cita:
Iniciado por blogdv Ver Mensaje
Muchisimas gracias, ya voy entendiendo por donde va la cosa.
Con eso digamos que recojo información del lugar del visitante.

Ahora mi problema será, como hacer para mostrar una imagen solo para un determinado país y ocultarla a todos los demas paises..

Muchas gracias por eso, gran ayuda!
En local (javascript)
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. if (geoip_country_code() == ES) {
  3.     // lo que quieras hacer
  4.     // Si quieres enviarle a otra página //  window.location = "mi-pagina-para-ES.html";
  5. } else { // te muestro otra cosa o no te muestro nada
  6. }
  7.     </script>
También puedes redireccionarlo con PHP pero tienes que recoger la región o país y enviarla al servidor para la derivación de página o sección
  #12 (permalink)  
Antiguo 05/08/2012, 11:58
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Voy a probar haber si consigo algo con esto, que yo creo que es justo lo que busco.

Muchísimas gracias por la ayuda!
  #13 (permalink)  
Antiguo 05/08/2012, 12:28
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Todo perfecto, pero al colocar el código:
Código:
    <script type="text/javascript">
    if (geoip_country_code() == ES) {
        // lo que quieras hacer
<b>mostrar este texto</b>
    } else { // te muestro otra cosa o no te muestro nada
    }
        </script>
No me aparece nada entrando desde españa. Debería aparecer "mostrar este texto", pero no aparece..
Seguramente fallo mío de novato pero nose he probado cambiar cosillas pero nada.

Gracias
  #14 (permalink)  
Antiguo 05/08/2012, 12:49
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Cita:
Iniciado por blogdv Ver Mensaje
Todo perfecto, pero al colocar el código:
Código:
    <script type="text/javascript">
    if (geoip_country_code() == ES) {
        // lo que quieras hacer
<b>mostrar este texto</b>
    } else { // te muestro otra cosa o no te muestro nada
    }
        </script>
No me aparece nada entrando desde españa. Debería aparecer "mostrar este texto", pero no aparece..
Seguramente fallo mío de novato pero nose he probado cambiar cosillas pero nada.

Gracias
Lo dejé todo comentado. Tú tienes que poner lo que quieras. Ejemplo;
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     if (geoip_country_code() == ES) {
  3. alert: ('Españolito que vienes al mundo, te guarde Dios: una de las dos españas ha de robarte el corazón');
  4.         // lo que quieras hacer
  5. <b>mostrar este texto</b>
  6.     } else {
  7.     alert: ('Ya sé que tu IP no está ubicada en España');
  8. // te muestro otra cosa o no te muestro nada
  9.     }
  10.         </script>
  #15 (permalink)  
Antiguo 05/08/2012, 12:57
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Sé que me dejaste todo lo necesario, pero incluso poniendo el código tal como está sin editar yo nada, tampoco me muestra el alert, ni el texto, es com si el script no se detectara.

Sin embargo he probado con:
Código:
    <script type="text/javascript">
    alert (geoip_country_code());
    alert (geoip_country_name());
    alert (geoip_city());
    alert (geoip_region_name());
    alert (geoip_latitude());
    alert (geoip_longitude());
    </script>
Así funciona pero al poner el código que me pasaste no muestra nada.. no tengo ni idea algo debo hacer mal o nose..

Igualmente, muchas gracias! Y disculpa por mi torpez..
  #16 (permalink)  
Antiguo 05/08/2012, 13:05
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

¿Colocaste en el head:
Código HTML:
Ver original
  1. <script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>
El te trae los datos de geoip_country_code(), etc.

Por otra parte, tu código anterior
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     if (geoip_country_code() == ES) {
  3.         // lo que quieras hacer
  4. <b>mostrar este texto</b>
  5.     } else { // te muestro otra cosa o no te muestro nada
  6.     }
  7.         </script>
nunca puede funcionar si no lo metes en una variable que llame a algún elemento del HTML (div, span, input text).
  #17 (permalink)  
Antiguo 05/08/2012, 13:13
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

El head lo coloqué.

Como debo introducirlo en una variable?

<div>
AQUI EL CODIGO
</div>

así?

disculpame pero es lo que tiene no saber del tema..
  #18 (permalink)  
Antiguo 05/08/2012, 15:12
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Te paso el código completo (simple) que por sí solo puedes verlo y estudiarlo.
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.  
  3.   <head>
  4.     <meta charset="utf-8">
  5.     <title>Ver localización IP</title>
  6.     <script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>
  7.      <script type="text/javascript">
  8.     alert (geoip_country_code());
  9.     alert (geoip_country_name());
  10.     alert (geoip_city());
  11.     alert (geoip_region_name());
  12.     alert (geoip_latitude());
  13.     alert (geoip_longitude());
  14.     window.onload = function () {
  15.         var estovaenspan = document.getElementById("localizarenspan");
  16.         var estovaendiv = document.getElementById("localizarendiv");
  17.         var estovaeninput = document.getElementById("localizareninput");
  18.       if (geoip_country_code() == 'ES') {
  19.         estovaenspan.innerHTML = 'La ciudad desde la que estás conectado es '+ geoip_city();
  20.         estovaendiv.innerHTML = 'Las coordenadas desde donde me conecto están en <br/> latitud ;'+geoip_latitude()+'  longitud '+geoip_longitude();
  21.         estovaeninput.value = 'Estas conectado desde '+geoip_country_code();   
  22.       } else {
  23.       estovaenspan.innerHTML = 'No sé dónde me encuentro';
  24.       }
  25.     }
  26.     </script>
  27.   </head>
  28.  
  29.   <body>    
  30.     <div id="conteiner">
  31.     <span id="localizarenspan"></span>
  32.     <div id="localizarendiv" style="color:#ff3333;"></div>
  33.     <input type="text" id="localizareninput" name="localizame" value="" size="40" />
  34.     </div><!-- /conteiner -->
  35.  
  36.   </body>
  37.  
  38. </html>
Pégalo en un archivo con extensión .html
Puedes ver cómo se pasan los alert, el span o el input (hecho sobre id)

Última edición por txemaarbulo; 05/08/2012 a las 15:23
  #19 (permalink)  
Antiguo 05/08/2012, 15:36
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Contenido (HTML) diferente según procedencia/país (geolocalizacion)

Muchisimas gracias, la verdad es que ha sido de gran ayuda.
Me sirve para probar, conseguir lo que quiero y además aprendo algo que es lo mas importante.

De gran utilidad, gracias.
Un saludo!

Etiquetas: distintos, html, procedencia, según
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 08:38.