• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jcfr

envio de dados GET

5 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem ja resolvi o meu problema sem ter de recorrer a atribuiçao de numeros, mas não foi enviando a parte da pesquisa que queria mas sim enviando todos os dados mas obrigado na mesma... ainda assim se alguem souber como fazer gostava de saber também... obrigado a todos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora