Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Busca via GET com URL Amigável

06-12-2010 12:59

Fala Kleber, tudo bem ordem?

Cara, rodei a net e não encontrei nenhuma solução para o meu problema:

- tenho um sistema de busca simples, onde há um form assim:

Digite o que voc&ecirc; procura:<br><br> <form name="busca" method="get" action="<?=$url?>"> <input type="text" name="b" id="b" value="[b]minha_busca[/b]" class="campo"> <button type="submit"><img src="<?=$url?>/imagens/guia/bt_lupa.jpg" alt="BUSCAR"></button></form>

E a página que recebe, deixa a URL como: http://site.net/?b=minha_busca

Só que eu quero que automáticamente a busca seja:
http://site.net/busca/minha_busca

Basicamente isso... Será que isso é possível? Pois atualmente estou pegando o valor do ?b= e redirecionando para /busca/valor_passado. O problema é que esse processo de capturar o valor e redirecionar a página demora e isso é desagradável para os visitantes. Acho que é isso.

Obs.: A URL amigável está funcionando tudo corretamente com arquivo ".htaccess" configurado e página explodindo as "/" normalmente. Tudo funciona beleza!

Espero que alguém possa dar uma luz, pois na internet eu não encontrei nada e pra ser sincero, não sei nem o nome disso e nem se estou na área correta (seria JS?).

Abraços galera...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17422
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Busca via GET com URL Amigável

06-12-2010 14:17

Está redirecionando de que forma?
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Busca via GET com URL Amigável

06-12-2010 14:32

Obrigado por responder Kleber!

Está basicamente assim:

<?php $b = $_GET['b'];     if ($b != "") { $b = str_replace(" ", "-", $HTTP_GET_VARS[b]); echo "<meta http-equiv='Refresh' content='0;url=busca/$b#resultado'>";     } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17422
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Busca via GET com URL Amigável

06-12-2010 15:15

Você pode fazer assim

<script> function Env(v) { location.href="busca/"+v; } </script>


<form name="busca" method="get" action=""> <input type="text" name="b" value=""> <input type="button" onclick="Env(b.value)" value="Envia"> </form>

0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Busca via GET com URL Amigável

06-12-2010 15:41

Kleber, funcionou belezinha, muito obrigado!

Mas tem um problema, há o seguinte código:

$b = str_replace(" ", "-", $HTTP_GET_VARS[b]); 

Que substituí os espaços vazios " " por "-" na url do navegador... Será que seria possível incluir esse detalhe no script que você me mostrou?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17422
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Busca via GET com URL Amigável

06-12-2010 16:12

Passa esse filtro no valor recebido

var novoValor = valorPassado.replace(" ", "_");

0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Busca via GET com URL Amigável

06-12-2010 16:34

Funcionou, porém, percebi que se houver mais de um espaço " " na busca, ele preenchia apenas o primeiro com "-".

Solução "suja":

<script>function Env(V) {var [color=#FF0000]Valor1 = V.replace(" ", "-")[/color];var [color=#FF0040]Valor2 = Valor1.replace(" ", "-")[/color];var [color=#FF0080]Valor3 = Valor2.replace(" ", "-")[/color];var [color=#FF00BF]Valor4 = Valor3.replace(" ", "-")[/color];var [color=#FF00FF]ValorV = Valor4.replace(" ", "-")[/color];location.href="<?=$url?>/busca/"+[color=#FF00FF]ValorV[/color]+"#resultado";}</script>

Dessa forma, quando alguém pesquisar por:

Palavra1 Palavra2 Palavra3 Palavra4 Palavra5 o nosso script trocará o resultado na url por:

Palavra1-Palavra2-Palavra3-Palavra4-Palavra5

Fantástico, muito obrigado mais uma vez web... Espero que a solução e dica ajudem o pessoal.
0
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Busca via GET com URL Amigável

06-12-2010 16:36

Código:

<script>function Env(V) {var Valor1 = V.replace(" ", "-");var Valor2 = Valor1.replace(" ", "-");var Valor3 = Valor2.replace(" ", "-");var Valor4 = Valor3.replace(" ", "-");var ValorV = Valor4.replace(" ", "-");location.href="<?=$url?>/busca/"+ValorV+"#resultado";}</script>

Me desculpe, tentei colorir o código para ficar mais fácil o entendimento! Obrigado web/busca/
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17422
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Busca via GET com URL Amigável

06-12-2010 18:30

Você consegue trocar todo espaço por underline usando essa linha

var novoValor = valorPassado.replace(/ /g, "_")

0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Busca via GET com URL Amigável

11-12-2010 13:12

Deu certo web, obrigado!

Só estou tendo um probleminha...

Quando o usuário digita no campo de busca e clica em enviar funciona, mas se ele pressionar Enter, não funciona. Há como consertar isso? Independente se ele clicar em enviar ou pressionar enter ele vá para: /busca/+valorBusca?

Agradeço
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17422
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Busca via GET com URL Amigável

11-12-2010 13:41

Normalmente seria só adicionar o seguinte no form action:

onsubmit="return Env(b.value)"

Só que não funcionou aqui, então indico chamar o jQuery na página, e se basear nesse exemplo

<script> function Env(v) { location.href="busca/"+v; return false; }   $(document).ready(function() { $("#target").submit(function() { return false; }); }); </script>


<form name="busca" id="target" onsubmit="return Env(b.value)"> <input type="text" name="b" value=""> <input type="button" onclick="Env(b.value)" value="Envia"> </form>

0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Busca via GET com URL Amigável

11-12-2010 13:52

Perfeito WEB! Funcionou tudo direitinho!

Muitíssimo obrigado!

Gostaria de poder ajudar mais no fórum, mas todas (ou a grande maioria) as questões que ainda não foram respondidas do fórum não se trata de uma petição de ajuda, já que você é rápido o sulficiente para ajudar as pessoas dentro do menor tempo possível.

Sem dúvida, este é o melhor fórum de discussão para sanar dúvidas, pois você está sempre disposto a ajudar e isso eu acho fantástico e adimiro muito.

Novamente, muito obrigado Web (Kleber) por sua atenção e dedicação à todos nós do fórum CódigosNaWeb! Sempre que puder, estarei disposto a ajudar!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17422
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Busca via GET com URL Amigável

11-12-2010 14:08

Podendo dar uma dica sobre programação tá de bom tamanho. ;)
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado