Tratamento de QueryStrings

A 4 de Fevereiro de 2009, categoria Opiniões, Ideias e Dicas, PHP, por Carlos Gonçalves
3

Tal qual como foi falei aqui em Dicas para melhorar os URLs das Páginas, os URL’s das páginas têm bem mais importância, do que a maioria das pessoas pensam. Ninguém quer “enfrentar maratonas” de URLs e muito menos com QueryStrings. Mas se calhar algumas pessoas não sabem o que são QueryStrings ou como fazê-las.

Uma QueryString, num modo bem simples de entender, é toda a informação passada pela URL pelo método GET, ou seja, tudo o que vem depois do “?” na URL.

Vamos tomar o exemplo, em que o nosso link é www.meusite.pt/?pag=teste.

Iríamos obter a informação passada assim.

< ?PHP
$pag = $_REQUEST['pag']; // A variável $pag será uma string com o conteúdo a testar
?>

Também podemos obter a informação por $_GET.
Exemplo:

< ?PHP
$pag = $_GET['pag'];  //A variável $pag será uma string com o conteúdo a testar
// teste.
?>

Até aqui tudo muito simples.
Agora, como podemos tratar das URL’s ?
É simples, e existem vários métodos.
Por if(o mais simples), por switch(mediano) e por arrays (o que eu prefiro).

Vamos começar pelo if.

Query String com IF, e ELSEIF:

< ?PHP
$seccao = $_REQUEST['seccao'];
if($link == "php")
{
       $pagina = "php.php";
}
elseif($seccao == "asp")
{
	$pagina = "asp.php";
}
if( (isset($pagina)) and (file_exists($pagina)) )
{
	echo '';
	include($pagina);
}
else
{
	echo "Página não encontrada, insere o link correcto.";
}
?>

Este é o método mais simples, e fácil para quem está a iniciar.

Agora, digamos que queres ter mais do que uma querystring.
Por exemplo com o link: pagina.php?seccao=php&categoria=scripts.
Iríamos obter as variáveis da mesma forma que o exemplo acima, onde o & serve para adicionar mais um campo.

Por exemplo, se tivermos a seguinte querystring: pagina.php?seccao=php&categoria=scripts&subcategoria=chats&id=11102
Para obtermos dados múltiplos no if, basta fazermos múltiplas verificações.
Continuando o exemplo acima:

< ?PHP
$seccao = $_REQUEST['seccao'];
$categoria = $_REQUEST['categoria'];
if($seccao == "php")
{
	$pagina = "php.php";
}
elseif($seccao == "asp")
{
	$pagina = "asp.php";
}
elseif($seccao == "php" AND $categoria == "scripts")
{
	$pagina = "php/scripts.php";
}
if( (isset($pagina)) and (file_exists($pagina)) )
{
	echo '';
	include($pagina);
}
else
{
	echo "Página não encontrada, insere o link correcto.";
}
?>

Agora com o switch.

< ?php
$sessao = $_GET["sessao"];
switch($sessao)
{
	case "html":
   		include("html.php");
   		break;
 	case "php":
		include("php.php");
   		break;
 	default:
   		echo "Não encontrada.";
   		break;
}
?>

Com Arrays

< ?PHP
$seccao = $_REQUEST['link'];
// Atenção na ,(virgula) que separa os arrays. Quando terminar-mos não vamos utilizar mais a virgula só iremos colocar o );
$seccao = array('php' => array('php.php'), 'asp' => array('asp.php'), 'js' => array('js.php'));
if(isset($link) AND file_exists($seccao[$seccao][0]))
{
	include ($seccao[$seccao][0]);
}
else
{
	echo "Página não encontrada, por favor insira o link correto.";
}
?>

Se tiverem dúvidas é só comentarem!


Muito FracoFracoRazoávelBomMuito Bom (2 votos, média: 4,50 num total de 5)
Loading ... Loading ...
Tags:
 

Dicas para melhorar os URLs das Páginas

A 1 de Fevereiro de 2009, categoria Opiniões, Ideias e Dicas, por Carlos Gonçalves
0

Os URL’s das páginas têm bem mais importância, do que a maioria das pessoas pensam. Ninguém quer “enfrentar maratonas” de URLs e muito menos com querystrings. Hoje, vou tentar dar algumas dicas para melhorar as URL’s.

Dicas

Dicas

Deixar de lado o “WWW

Os quatro mais inúteis caracteres de uma URL são sempre o “www.”.
Se quiseres optar pela maneira mais fácil de encurtar os URLs, retira o WWW. Claro que precisas de configurar o servidor para que ele veja “WWW” e não -WWW da mesma forma. Por diversas vezes, vejo “www.” em anúncios nos jornais – é um desperdício de espaço e dinheiro, pois como provavelmente devem saber, os anúncios nos jornais, são pagos por caracter!

Retira a extensão dos ficheiros

Com ficheiros .htaccess e mod_rewrite, a extensão dos ficheiros nas URL’s passam a ser coisas do passado.
Porquê fazer os utilizadores recordarem-se de “pagina.php” se eles podem simplesmente lembrar-se de “pagina”?

Utiliza SEF Links

Se pretendes ou tens expectativas que muitas pessoas “linkem” a(s) tua(s) página(s), faz-lhes o favor e ao gerar URL’s amigáveis (SEF).
Ninguém se vai lembrar de “cgoncalves.com/post.php=id=3249″.

Não coloques os ficheiros dentro de muitas Directorias

Bem, provavelmente deves de o fazer, por uma questão de organização, mas pelo menos utiliza o mod_rewrite para criar “atalhos” nas URL’s. Ninguém gosta de de “bla bla Slash bla bla Slash .” Slash é para Guns and Roses, não para links amigáveis.

Não sigas a Moda, Usa domínios “Inteligentes” para a Web 2.0


Domínios como “script.aculo.us” e “del.icio.us” inicialmente são memorizáveis, mas agora são enjoativos e difíceis de memorizar. Não obrigues os teus utilizadores a adivinharem o “.” (dot) se coloca!



Alguma sugestão? Partilha-a!


Muito FracoFracoRazoávelBomMuito Bom (1 votos, média: 4,00 num total de 5)
Loading ... Loading ...
Tags:
 

Procuras alguma coisa?

Utiliza o formulário abaixo para pesquisares no meu site:


Ainda não encontraste o que procuravas? Deixa um comentário num post ou contacta-me para que te possa ajudar!

Links de Interesse!

Links por mim recomendados...

Arquivos

Ordenado de forma cronológica...