Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

li0n.coder

Descobrir o país do visitante

Recommended Posts

Olá! Estou desenvolvendo um sistema em PHP , e preciso saber em qual país se localiza o visitante. Mas não faço ideia de qual comando faz essa tarefa :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a versão que suporta os comandos geoip?

 

Se possível deixar um tutorial ensinando a usar o API, pois sou inicante em php. Agradeço desde já

Fatal error: Call to undefined function geoip_country_name_by_name() in C:\xampp\htdocs\index.php on line 26

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já consegui aprender JSON, mas não consegui receber dados de uma JSON externa.

 

$visitor_ip = $_SERVER['REMOTE_ADDR'];
$json_file = file_get_contents("http://freegeoip.net/json/$visitor_ip");
$json_str = json_decode($json_file, true);
$itens = $json_str->country_name;
 
foreach ( $itens as $e ) 
    { echo "$e->country_name<br>"; }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jovem, o erro está nesta linha: json_decode($json_file, true);

 

Remova o true. Quando você passa o parâmetro true, você está dizendo para ele retornar um array e não um objeto.

json_decode($json_file);

O seu código "tratado":

$visitor_ip = $_SERVER['REMOTE_ADDR'];
$json_file = file_get_contents("http://freegeoip.net/json/".$visitor_ip);
$json_str = json_decode($json_file);

echo $json_str->country_name;
 

No caso, você estava tentando exibir um objeto, mas convertendo a variável em array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usei o código "tratado" e ocorreu o seguinte erro:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR, expecting ',' or ';' in C:\xampp\htdocs\WML\index.php on line 29

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.