Jump to content


Photo

Php, Verificar Ip Por Pais E Redirecionar!


  • Faça o login para participar
9 replies to this topic

#1 lucasmr

lucasmr

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 18/08/2005, 13:34

Olá Galera
gostaria de fazer o seguinte, quando a pessoa entrar no site, ele verificasse o Pais da pessoa a partir da inicial de seu IP, se for do Brasil, vai pra pagina em portugues, se for dos EUA cai na ingles, etc....
porem, nao sei isolar a primeira faixa de ip do resto!!

segue o codigo +/- p/ ser modificado


<?
$ip = $_SERVER['REMOTE_ADDR'];
if ($ip=="200.*.*.*"){
	$pag = "brasil.htm";
}
if ($ip=="XXX.*.*.*"){
	$pag = "pagina2.htm";
}
if ($ip=="YYY.*.*.*"){
	$pag = "pagina3.htm";
}
else {
//aqui seria p/ visitantes que nao se encaixem em nenhum dos 3 paises
	$pag = "paginapadrao.htm";
}
?>


porem, ao inves de setar apenas a variavel $pag com o link eu gostaria que ele ja mandasse abrir o site, porem nao sei qual comando faz isso, seria esse?

header("location: pagina.htm");


Obrigado a todos e abraços

#2 ThalesWeb

ThalesWeb

    Veterano

  • Usuários
  • 1435 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 18/08/2005, 13:45

Para pegar o primeiro valor:
$ip = explode(".", getenv("REMOTE_ADDR"));
echo $ip[0];

Para redirecionar, você pode setar $pag normalmente e depois:
header("Location: $pag");
Ou, redirecionar com js.
Thales Santos

#3 lucasmr

lucasmr

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 18/08/2005, 13:52

beleza...
deu certinho valeu
abraços

#4 lucasmr

lucasmr

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 18/08/2005, 14:19

ops..
nao tao certo

ta dando um erro na hora que entro no site


Warning: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/alwema/alwema.com.br/lucas/teste/index.php:3) in /hsphere/local/home/alwema/alwema.com.br/lucas/teste/index.php on line 18




<?
$ip = explode(".", getenv("REMOTE_ADDR"));
echo $ip[0];
$ip = $ip[0];
$pag = "ingles/index.php";

if ($ip==216){
 echo "entrou no if = 216";
 $pag = "espanhol/index.php";
}

if ($ip==200){
 echo "entrou no if = 200";
 $pag = "portugues/index.php";
}

echo "chegou no fim";
header("Location: $pag");

?>

abraços

Edição feita por: lucasmr, 18/08/2005, 14:35.


#5 victorpfm

victorpfm

    Expert

  • Usuários
  • 566 posts
  • Sexo:Masculino

Posted 18/08/2005, 14:36

Remova todos os: echo " ... ";

#6 lucasmr

lucasmr

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 18/08/2005, 14:51

agora simmmm
valeeu

#7 ThalesWeb

ThalesWeb

    Veterano

  • Usuários
  • 1435 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 18/08/2005, 15:25

Apenas complementando, quando se deparar com esse erro, e não puder evitar uma saída. Use ob_start(); no início da página e ob_end_flush(); no final.
Thales Santos

#8 lucasmr

lucasmr

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 20/08/2005, 20:26

aproveitando o topico
e se eu quisesse que a barra de endereços ficasse sempre a mesma e nao mudasse com o header("Location: $pag"); ?? como se fosse uma URL frame.. te, como?


abraços

#9 victorpfm

victorpfm

    Expert

  • Usuários
  • 566 posts
  • Sexo:Masculino

Posted 20/08/2005, 20:30

Ou isso:
http://forum.wmonlin...howtopic=114997
Ou frames mesmo.

#10 STHELT

STHELT

    12 Horas

  • Usuários
  • 270 posts
  • Sexo:Masculino
  • Interesses:Ruby on Rails

Posted 10/03/2010, 19:30

cara, esse script funciona certo? tem como postar ele completo?
<HTML>
<HEAD>
<BODY>

<NAME> Caio </NAME>

</HTML>
</HEAD>
</BODY>




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq