- O que é passagem de parâmetro?
A passagem de parâmetro é um método utilizado sempre que precisamos passar valores para outra página sem necessariamente armazenar esses valores. No caso específico do PHP, os principais métodos são GET e POST. Nesse artigo vou me focar na passagem de parâmetros via GET.
- Como é realizada a passagem de parâmetro via GET no PHP?
No PHP, para realizarmos a passagem de paramêtros via GET utilizamos o sinal ?. Então, por exemplo, quando desejamos que ao clicar em um produto seja repassada a ID desse produto para outra página fazemos da seguinte maneira:
<a href = ”pagina2.php?id=2>Produto X </a>
Quando é necessário repassar mais de uma informação utilizamos o sinal & (em alguns casos o W3C costuma não validar o código quando utilizamos o caracter &, para resolver esse problema utilizamos &).
<a href = ”pagina2.php?id=2&categoria=categoriax”> Produto X </a> <a href = ”pagina2.php?id=2&categoria=categoriax”> Produto X </a>
- Dificuldade de indexação pelos mecanismos de busca
Apesar da grande importância da passagem de parâmetros para a programação web, devido à grande extensão da URL e dos diversos caracteres especiais envolvidos em sua construção, isso pode se tornar um dificultador quando o assunto é indexação da página pelos mecanismos de busca.
Visando realizar uma passagem de parâmetros correta e com uma boa indexação pelos mecanismos de busca é necessário tratar a URL que irá receber os parâmetros. Com esse fim, trabalharemos com URL amigáveis.
- Exemplo prático
Uma loja de sapatos exibe seus produtos na página inicial com apenas a foto e o título do produto com um link. A ideia é que o cliente ao clicar nesse link seja direcionado aos detalhes daquele produto. Veremos agora como podemos fazer isso com passagem de parâmetros via GET e URL amigável.
4.1 Verificar se a extensão rewrite_module está habilidada
Antes de iniciar o processo de construção de parâmetros com URLs amigáveis, é necessário verificar no seu servidor se a extensão rewrite_module está habilidada, pois é ela que permite fazer alterações de URL em nosso website.
Para isso, devemos localizar o arquivo httpd.conf na pasta do Apache do nosso ambiente.
Dentro do arquivo, procuramos por rewrite_module e tiramos a # do início da linha. Após isso, reinicie seu servidor e ele já estará apto para trabalhar com URLs amigáveis.
4.2 No HTML
Criaremos duas divs simples, uma com a foto do produto e outro com título do produto com um link para página de detalhes.
<div><img src='sapato.jpg' alt='sapato'></div> <div><a href="p/1/mocacin">Sapato SanMarino</a></div>
4.3 Criando o arquivo .htaccess
O arquivo .htaccess é o responsável pela reescrita da URL transformando um código extenso em um código amigável.
1
2
3
4
|
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^index2-([0-9]+)-(.*)$ index2.php? id =$1&titulo=$2 |
Linha 1 abrimos a nossa rescrita de URL.
Linha 2 e 3 são as condições de arquivo (f) e diretório (d)
Linha 4 é propriamente nossa regra de reescrita. Eu estou configurando para que a página: index2.php?id=$1&titulo=$2 seja reescrita da seguinte forma index2 – valor da minha ID – valor da categoria.
4.4 No PHP
Criaremos a página index2.php que receberá os parâmetros.
1
2
3
4
5
|
$id = $_GET [‘id’]; $categoria = $_GET [‘categoria’]; echo “esse produto tem ID” . $id .” e categoria” . $categoria ; |
- Conclusão
A passagem de parâmetros é fundamental em diversos sistemas web. Para que ele funcione corretamente e seja bem visto pelos motores de busca é necessário tratar a URL proveniente da passagem de parâmetro GET.