Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Villa

[Resolvido] Envio de formulário + URL Amigável

Recommended Posts

Salve galera!

Estou com problema no envio de um formulário de busca com url amigável.

index.php

<form action="index.php?pg=detalhes" id="topo_busca" method="post">
   <label id="busca"></label>
       <input name="ref" type="text" value="Busca por referência" />
   <input name="btn_busca" title="Buscar" type="submit" value="" />
</form>

 

detalhes.php

$referencia = isset($_GET['ref']) ? $_GET['ref'] : $_POST['ref'];

 

Desta forma funciona, mas fica ...index.php?pg=detalhes e gostaria que ficasse assim .../detalhes/2

Compartilhar este post


Link para o post
Compartilhar em outros sites

no apache: para funcionar você tem que ter uma regra de rewrite para capturar a variável get pg=detalhes

sua url pode ficar /detalhes/2 assim pg=detalhes&id=2

 

RewriteEngine on

RewriteRule ^/([0-9]+)\/([0-9]+)\/?$ index.php?pg=$1&id=$2

 

pesquisa sobre urls amigáveis ou friendly url que tem muito material

 

se for outro servidor web não é tão simples quanto no apache, aí pesquise sobre rewrite para o webserver em uso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dd designer!

Já utilizo esta regra RewriteRule ^detalhes/([0-9]+)$ index.php?pg=detalhes&ref=$1 mas não estou conseguindo utilizar esta regra do formulário...

Compartilhar este post


Link para o post
Compartilhar em outros sites

dd designer!

Já utilizo esta regra RewriteRule ^detalhes/([0-9]+)$ index.php?pg=detalhes&ref=$1 mas não estou conseguindo utilizar esta regra do formulário...

Opa!

Se voce ja esta utilizando a regra entao o unico problema que vejo e o prorpio link action do seu form que aponta pra url real e nao pra amigavel...

 

Experimente modificar o action na submissao:

 

<form action="detalhes" id="topo_busca" method="post" onsubmit="this.action = 'detalhes/'+this.ref.value+'/'">
   <label id="busca"></label>
       <input name="ref" type="text" value="Busca por referência" />
   <input name="btn_busca" title="Buscar" type="submit" value="" />
</form>

Esta "gambiarra" e so pra lhe inspirar a desenvolver uma solicao legal, uma funcao pro exemplo, fica a dica. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew InterPlanet!

Só para Jquery...

 

$('#topo form').submit(function(){
   var url = $('input[name=ref]', this).val();
   window.location.href = 'detalhes/'+url;
   return false;
});

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.