Tutorial: Mostrar conteúdo de acordo com o PAÍS (Simples)

  • Autor Autor deskpro123
  • Data de início Data de início
Este tópico foi traduzido automaticamente do espanhol. Ver original
Funciona a nível de servidor, ou seja, é um mod que se instala nele e por isso te dizia que é muito mais rápido, já que você trabalha a nível do próprio servidor.
Para o meu gosto, de tudo o que testei, foi o melhor, abraços!
 
Visto que não me ajudaram, só posso pedir ajuda a você [MENTION=9679]cicklow[/MENTION] Como posso inserir HTML para que seja exibido um iframe 🙁

Olá a todos, trago este pequeno script elaborado por [MENTION=9679]cicklow[/MENTION] e [MENTION=22703]Jorge Reyes[/MENTION] exclusivamente para mim 😀 e eu compartilho com vocês.

O script serve para segmentar conteúdo segundo países, é bem simples e bem leve, os dados ele pega de outra página, então é bem leve para o servidor também.

PHP:
<?php

$var = file_get_contents('http://smart-ip.net/geoip-json/'.$_SERVER['REMOTE_ADDR']);
$api = json_decode($var);

if($api->countryCode == 'MX'){

echo 'Soy de Mexico';

}

?>

Onde diz MX, você troca pelas 2 letras do seu país que pode encontrar nesta página:

2-letter, 3-letter, country codes for all countries in the world

Onde diz A2, você busca as letras do seu país. Você pode adicionar mais de um condicional no código para vários países.

Espero que sirva para vocês, um abraço a todos.

Como integro o código HTML?

Não mostra o iframe que coloco, aqui deixo o meu código que usei do seu, agradeceria muito se me ajudasse.


HTML:
<script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>
<script type="text/javascript">
if (geoip_country_code() == 'PE') 
	  {
        document.write("<iframe src="http://track.adbooth.net/aff_c?offer_id=4174&aff_id=2718" width="910" height="450"></iframe>");
          } 
	  else if (geoip_country_code() == 'MX') 
	  {
	  document.write("HOLA MEXICANO");
	  }
	  
	  
	  
	  
	  else if (geoip_country_code() == 'CO') 
	  {
	  document.write("COLOMBIA");
	  }
	  
	  
	  
	  
	  
	  else 
	  {
	  document.write("HOLA seas de donde seas");
	  }
</script>
 
Última edição:
Bom tutorial, amigo :encouragement:
 
Visto que não me ajudaram, só posso pedir ajuda a você [MENTION=9679]cicklow[/MENTION] Como posso inserir HTML para que seja exibido um iframe 🙁



Como integro o código HTML?

Não mostra o iframe que coloco, aqui deixo o meu código que usei do seu, agradeceria muito se me ajudasse.


HTML:
<script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>
<script type="text/javascript">
if (geoip_country_code() == 'PE') 
	  {
        document.write("<iframe src="http://track.adbooth.net/aff_c?offer_id=4174&aff_id=2718" width="910" height="450"></iframe>");
          } 
	  else if (geoip_country_code() == 'MX') 
	  {
	  document.write("HOLA MEXICANO");
	  }
	  
	  
	  
	  
	  else if (geoip_country_code() == 'CO') 
	  {
	  document.write("COLOMBIA");
	  }
	  
	  
	  
	  
	  
	  else 
	  {
	  document.write("HOLA seas de donde seas");
	  }
</script>

o seu problema é que você corta o código ao usar aspas duplas em tudo:
MAL =
HTML:
document.write("<iframe src="http://track.adbooth.net/aff_c?offer_id=4174&aff_id=2718" width="910" height="450"></iframe>");

BEM =
HTML:
document.write('<iframe src="http://track.adbooth.net/aff_c?offer_id=4174&aff_id=2718" width="910" height="450"></iframe>');

se você usa aspas duplas dentro, tem que abrir e fechar com simples e vice-versa...
 
o seu problema é que você corta o código ao usar aspas duplas em tudo:
MAL =
HTML:
document.write("<iframe src="http://track.adbooth.net/aff_c?offer_id=4174&aff_id=2718" width="910" height="450"></iframe>");

BEM =
HTML:
document.write('<iframe src="http://track.adbooth.net/aff_c?offer_id=4174&aff_id=2718" width="910" height="450"></iframe>');

se você usa aspas duplas dentro, tem que abrir e fechar com simples e vice-versa...

Hehe, umas simples aspas podem fazer o script completo não funcionar.


------------------------


Em javascript, quando se vai inserir código HTML que dentro tem aspas duplas ", deve ser feito entre duas aspas como estas, assim 'HTML' e não "HTML", mas se o código tem aspas ' ex: <img src='url'>, então deve ir entre aspas duplas " .

Um abraço, e quem fez o bom tutorial foi o cicklow, mais do que eu, hehe.
 
Última edição:
Então, no final, qual é o que funciona?
 
Então, no final, qual é o que funciona?

Este:

Código HTML:
<script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>
<script type="text/javascript">
if (geoip_country_code() == 'PE')
{
document.write('<iframe src="http://track.adbooth.net/aff_c?offer_id=4174&aff_id=2718" width="910" height="450"></iframe>');
}
else if (geoip_country_code() == 'MX')
{
document.write("OLÁ MEXICANO");
}




else if (geoip_country_code() == 'CO')
{
document.write("COLÔMBIA");
}





else
{
document.write("OLÁ, seja de onde for");
}
</script>
 
[MENTION=17283]jackemathe[/MENTION] não tem que baixar nenhum js nem nada?
 
Obrigado pela contribuição !! 😀
 
Obrigado pela contribuição!! 🙂
 
Estou tentando usar este código para fazer com que um determinado script seja executado de acordo com o país e procedência:
Inserir CODE, HTML ou PHP:
[COLOR=#000000] [COLOR=#0000BB]<?php

$var [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]file_get_contents[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'http://smart-ip.net/geoip-json/'[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]$_SERVER[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'REMOTE_ADDR'[/COLOR][COLOR=#007700]]);
[/COLOR][COLOR=#0000BB]$api [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]json_decode[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$var[/COLOR][COLOR=#007700]);

if([/COLOR][COLOR=#0000BB]$api[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]countryCode [/COLOR][COLOR=#007700]== [/COLOR][COLOR=#DD0000]'ES'[/COLOR][COLOR=#007700]){

echo [/COLOR][COLOR=#DD0000]'SOY DE ESPAÑA'[/COLOR][COLOR=#007700];

}

[/COLOR][COLOR=#0000BB]?>[/COLOR] [/COLOR]

E eu o modifiquei assim:
Inserir CODE, HTML ou PHP:
<?php

$var = file_get_contents('http://www.telize.com/geoip/'.$_SERVER['REMOTE_ADDR']);
$api = json_decode($var); 

if($api->countryCode == 'ES'){ 
?>
<script type="text/javascript">
aquí el código
</script>
<?
} 

?>

mas não funciona
[MENTION=9679]cicklow[/MENTION] ou alguém sabe como solucionar isso?
 
mas não funciona
[MENTION=9679]cicklow[/MENTION] ou alguém sabe como solucionar isso?

porque esse site usa outra estrutura -.-'... a variável seria: country_code e não countryCode que meu script usa
 
porque esse site usa outra estrutura -.-'... a variável seria: country_code e não countryCode que meu script usa

era exatamente isso, mil graças.

É possível colocar o mesmo condicional para vários países separando-os por "," ou algo assim?
 
era exatamente isso, mil graças.

É possível colocar o mesmo condicional para vários países separando-os por "," ou algo assim?
PHP:
if(preg_match('/(ES|US|AR)/i', $pais){
 echo 'SOY DE USA, ARGENTINA O ESPA&Ntilde;A';
}
 
era exatamente isso, mil graças.

É possível colocar o mesmo condicional para vários países separando-os por "," ou algo assim?

você pode usar:
PHP:
if($api->countryCode == 'ES' || $api->countryCode == 'AR' || $api->countryCode == 'US'){
//algo
}

ou
PHP:
$PAIS1 = array('ES','AR','US');
if(in_array($api->countryCode,$PAIS1)){
//algo
}
 
mil graças aos 2
que rapidez
 
Obrigado pela contribuição. Excelente.
 
[MENTION=9679]cicklow[/MENTION] este código não funciona mais?

HTML:
<script src="http://j.maxmind.com/app/geoip.js"></script>
<script>
if(geoip_country_code()=="AR"){
document.write('aqui');
}
</script>

abraços
 

Tópicos similares

Voltar
Topo