Ir para conteúdo

POWERED BY:

Arquivado

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

makssie

Erro no Script... Echo na Região;

Recommended Posts

Onde ele ta passando isso para o PHP? ele ta exibindo isso no HTML só isso. Não é assim que se passa um valor para o PHP

 

Sim ele está exibindo no Html mas para eu fazer o tratamento da variável onde terei que tirar os acentos, deixar todos em minúsculos e depois fazer um switch case , preciso jogar no PHP , certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisa, mas não dessa forma ai, você vai ter de usar AJAX.

$.post('arquivo.php', {local: geoip_region_name()}, function(data) {
    var nome = data.regiao;
}, 'json');

arquivo.php:

<?php

$regiao = $_POST['local'];

// funções do primeiro post
// e tratamento da variavel

echo json_encode(array('regiao' => $regiao));
exit;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha troquei de código, agora não estou usando javascript.. Criei uma classe no PHP mesmo que vai fazer a função do javascript ..

 

Enfim, agora estou com outro problema... Desculpe a inconveniência...

<?php


ini_set( 'display_errors', 0 );
    include("class.ipdetails.php");
    //$ip = $_SERVER['REMOTE_ADDR'];  
    $ip = "177.102.143.15";
    echo "<b>Estado:</b>    ".$ipdetails->get_region()  ."<br />";
    


$var = htmlspecialchars_decode($ipdetails->get_region());




function normalize($string) {
  $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿRr';
  $b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
  $string = utf8_decode($string);
  $string = strtr($string, utf8_decode($a), $b);
  $string = strtolower($string);
  return utf8_encode($string);
}


echo normalize($var);

O que tá acontecendo ai em cima, to pegando uma informação só que ele joga com caracteres de HTML... E gostaria de fazer o tratamento do replace, tipo tirar o acento que são aqueles ã, etc.

 

 

Um exemplo do que acontece nesse código.

 

Quando dou echo $var... Mostra no ambiente "São Paulo"... Só que quando dou var_dump... Mostra 'São Paulo' (length=16)

 

 

Quando faço o tratamento da função normalize fica ... "são paulo" = Ou seja não tirou os acentos..

 

Agora se eu fizer switch case para "são paulo" não dá certo por que o case para ele seria 'São Paulo'

 

Como faço para converter isso e manter numa variável?

 

Lá em cima eu usei htmlspecialchars_decode. Só que não ficou salvo na variável, na verdade só ficou na "amostra"

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Mas se eu for jogar na função por exemplo da função do normalize que é esse debaixo... Ele não dá certo.

 

function normalize($string) {

$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿRr';

$b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';

$string = utf8_decode($string);

$string = strtr($string, utf8_decode($a), $b);

$string = strtolower($string);

return utf8_encode($string);

}

$texto = html_entity_decode($ipdetails->get_region(), ENT_QUOTES, 'UTF-8');


function normalize($string) {
  $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿRr';
  $b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
  $string = utf8_decode($string);
  $string = strtr($string, utf8_decode($a), $b);
  $string = strtolower($string);
  return utf8_encode($string);
}


echo normalize($texto)."<br />";

Ele deixa tudo no minusculo = são paulo..

 

No codepad deu certo ;/

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.