Passagem de variáveis pela URL

Loops e condições são úteis para processar os dados dentro de um mesmo script. Mas, num sítio de internet, as páginas visitadas e os scripts utilizados são numerosos. Frequentemente precisamos que os nossos scripts estejam conectados uns com os outros e que utilizem variáveis comuns. Por outro lado, o usuário interage por meio de formulários cujos campos têm de ser processados para poder dar resposta. Todo este tipo de factores dinâmicos têm de ser eficazmente regulados por uma linguagem como PHP.

É possível que se tenham apercebido que as variáveis de um script têm uma validez exclusiva para o script e que se torna impossível conservar o seu valor quando executamos outro ficheiro diferente ainda que ambos estejam ligados. Existem várias formas de enviar as variáveis de uma página a outra de maneira que a página destino reconheça o valor atribuído pelo script de origem:

Passagem de variáveis pela URL 

Para passar as variáveis de uma página a outra podemos fazê-lo introduzindo a variável dentro do link hipertexto da página destino. A sintaxe seria a seguinte:

<a href=”destino.php?variavel=valor1&variavel2=valor2&…”>Meu link</a>

Podem observar que estas variáveis não possuem o símbolo $ à frente. Isto é por que, na realidade, este modo de passar variáveis não é específico de PHP, sendo utilizado por outras linguagens.

Agora a nossa variável pertence também ao entorno da página destino.php e está pronta para a sua utilização.

Nota:  Nem sempre se definem automaticamente as variáveis recebidas por parâmetro nas páginas web, depende de una variável de configuração de PHP: register_globals, que tem de estar activada para que assim seja. Ver comentários do artigo ao final da página para mais informação.

Para resolver possíveis dúvidas, vejamos isto em forma de exemplo. Teremos, pois duas páginas, origem.html (não é necessário dar-lhe extensão PHP pois não há nenhum tipo de código) e destino.php:

<HTML>
<HEAD>
<TITLE>origem.html</TITLE>
</HEAD>
<BODY>
<a href=”destino.php?comprimento=ola&texto=Isto é uma variável de texto”>Passo variáveis comprimento e texto à página destino.php</a>
</BODY>
</HTML>

<HTML>
<HEAD>
<TITLE>destino.php</TITLE>
</HEAD>
<BODY>
<?
echo “Variável $comprimento: $comprimento <br>n”;
echo “Variável $texto: $texto <br>n”
?>
</BODY>
</HTML>

$_GET

Relembramos que é possível compilar numa só variável tipo array o conjunto de variáveis que foram enviadas ao script por este método a partir da variável de sistema $_GET, que é um array associativo. Utilizando-o ficaria assim:

<?
echo “Variável $comprimento: $_GET_[“comprimento”] <br>n”;
echo “Variável $texto: $_GET[“texto”] <br>n”
?>

Nota: Ainda que possamos recolher variáveis com este array associativo ou utilizar diretamente as variáveis que se definem na nossa página, é mais seguro utilizar $_GET por duas razões, a primeira é que assim temos a certeza que essa variável vem realmente da URL e a segunda, que assim o nosso código será mais claro quando o quisermos ler, porque ficará especificado que estamos a receber essa variável pela URL.

 Fonte: http://www.criarweb.com/artigos/95.php

Deixe um comentário