Jump to content

envio de dados GET


jcfr

Recommended Posts

boas pessoal estou com um grande problema, quero enviar parte de uma pesquisa por metodo GET, isso eu consigo fazer o meu problema é que ao receber os dados vêm alterados, por exemplo quero enviar a seguinte pesquisa:

$sqld = "FROM `automoveis` WHERE `ano` >$anoum AND `ano` <$anodois AND `km` >$minkm AND `km` <$maxkm AND `preco` >$precoum AND `distrito` LIKE '$distrito'";

é apenas parte da minha pesquisa e é so isto que quero enviar, envio atraves do seguinte codigo:

echo "<a class='normal' href=\"".$_SERVER['PHP_SELF']."?pag=$proximo&act=1&sqld=$sqld\">  Próximo</a>";

recebo a pesquisa desta forma:

if (!isset($_GET['sqld'])){ //--------Se a página actual não estiver definida
        //$sqld = 1; //---------Passa a estar, e é apresentada como sendo a 1ª.
}else{ //-------Se já estiver definida.
        $sqld = $_GET['sqld']; //-------Usa-se a página que é.
}
echo "$sqld";

e como podem ver escrevo-a para ver o que recebi...

o resultado é o seguinte:

FROM `automoveis` WHERE `ano` >1958 AND `ano` <2010 AND `km` >0 AND `km` <260000 AND `preco` >0 AND `distrito` LIKE \'Viseu\'

os valores estao correctos, o meu problema é que acrescenta duas barras a tudo o que seja texto, se a pesquisa não tiver texto tudo funciona bem, se tiver texto acrescenta duas barras e já não posso usá-la...

no servidor local isto não acontece, mas no host acontece, alguém sabe como resolver, ou como retirar as barras?muito obrigado

Link to comment
Share on other sites

estive a pensar e a unica forma que me lembro de resolver o problema é atribuir valores numericos às minhas variaveis como no caso o distrito, assim receberia um numero em vez de uma palavra e nao daria erro, o problema é que tenho de alterar a pagina toda pois nas zonas de escrita tenho de verificar qual é o numero e escrever a palavra correspondente em vez de simplesmente escrever a variavel, isso ia dar-me muito trabalho porque já tenho quase tudo pronto e teria de alterar muita coisa, se me conseguissem ajudar a arranjar uma forma melhor agradecia senão lá terá que ser...

Link to comment
Share on other sites

Espera aí, tu envias a pesquisa (SQL) por GET, ou seja, visivel no endereço? Isso é perigosíssimo, e nada recomendado! Se alguém tiver acesso a esse URL, pode manipular, apagar e fazer o que lhe apetece da base de dados.

Deves considerar uma nova estratégia para guardares o teu SQL. O facto da string "Viseu" estar ladeada por plicas significa que existe alguma função que escapa a query, como o mysql_real_escape_string, ou a função stripslashes de PHP.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

eu nunca envio a consulta por get nem seker por post, a consulta é sempre determinada em novas paginas... nakele caso é que estava com um +problema de paginaçao e ate a altura a unica forma de resolver o problema que me tinha lembrado era fazer isso era so numa pagina e como tenho as paginas todas a trabalhar dentro de frames o url nunca se vê APARECE SEMPRE SO WWW.DOMINIO.COM e nao se vê nada, alias por norma todos os dados que envio sao por post seja onde for, so quando nao tenho alternativa é que uso get... mas obrigadao, decidi enviar as variaveis em vez da consulta e resolvi o problema...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.