Depois de termos passado por vários artigos introdutórios ao PHP, eis que chegamos a um ponto importante: Como passar informação entre páginas em PHP. Este processo é feito através de Arrays Superglobais. PHP Oferece vários tipos de arrays superglobais para os desenvolvedores, cada um com uma finalidade diferente. Um array superglobal é uma variável especial que está sempre disponível nos scripts, dos quais figuram:
- $GLOBALS: Variáveis disponívels globalmente
- $_SERVER: Informação acerca do servidor
- $_GET: Dados utilizados durante o método HTTP GET
- $_POST: Dados utilizados durante o método HTTP POST
- $_REQUEST: Dados utilizados durante um pedido HTTP
- $_FILES: Dados utilizados durante a introdução de um ficheiro HTML
- $_SESSION: Dados relativos à sessão actual do utilizador
- $_COOKIE: Dados guardados no navegador do utilizador como cookie
Não perca alguns dos nossos artigos anteriores relacionados com PHP:
- Comentários e Operadores em PHP
- Javascript para desenvolvedores PHP
- 75+ Ferramentas PHP extremamente úteis
- Como funciona o PHP?
- Diversos Truques e Dicas para PHP
- 16 Estruturas de Controlo em PHP (Parte II)
VARIABLE SCOPE
Na programação, o scope refere-se ao contexto em que declara uma variável. A maioria das variáveis em PHP têm um único scope: global. A utilização deste significa que uma variável estará disponível no script que a declara, bem como em qualquer script que seja incluído após a declaração da variável.
<?php $teste = "teste"; include_once 'extras.php'; // $teste estará disponível no extras.php $teste2 = "teste2"; // $teste2 não estará disponível no extras.php echo "teste é $teste e teste2 é $teste2."; ?>
$GLOBALS
O PHP fornece uma opção para acessar as variáveis no scope global: o array superglobal $GLOBALS. Todas as variáveis no global são carregadas para o array $GLOBALS, permitindo o acesso ás mesmas utilizando o nome da variável como a chave do array:
<?php
$x = "um texto qualquer";
funcion test()
{
echo $GLOBALS['x'];
}
test();
?>
Normalmente deve-se evitar a utilização de globals quando possível. O método preferido para aceder às variáveis globais dentro de funções é utilizá-las como argumentos. Isto torna os seus scripts mais simplificados e simples de ler e compreender, o que por si só simplifica a manutenção do mesmo ao longo do tempo.
$_SERVER
A superglobal $_SERVER guarda informação acerca do servidor e do script actual, ao mesmo tempo que tem também funcionalidades que lhe permitem aceder ao endereço IP de um visitante de um website, qual o site que o levou ao seu site, a outro tipo de informações interessantes. Uma das funcionalidades mais interessantes é utilizar a superglobal $_SERVER no nome do host do site, que é guardado em HTTP_HOST. O nome é útil porque permite-lhe criar um simples template que poderá utilizar em diferentes projectos sem necessitar de alterar qualquer código. Utilizando o código abaixo, poderá dar as boas vindas a um visitante do seu website:
<?php
echo "<h1> Bem-Vindo ao $_SERVER[HTTP_HOST]! </h1>";
?>
Correndo este pequeno script no seu computador, iria retornar “Bem-Vindo ao localhost!” pois o seu script está a ser rodado localmente. Se utilizar este script online, irá retornar “Bem-Vindo ao seusite.com!”. Ao longo do tempo e explorando as opções você irá encontrar vários usos para o HTTP_POST nos seus scripts. Aqui ficam alguns:
<?php // Caminho para o ficheiro actual (por ex. /site/index.php) echo $_SERVER['PHP_SELF']; // Informação acerca do navegador do utilizador echo $_SERVER['HTTP_USER_AGENT']; // Endereço da página que enviou o utilizador echo $_SERVER['HTTP_REFERER']; // Endereço IP do utilizador echo $_SERVER['REMOTE_ADDR']; ?>
Correndo este script irá retornar todas estas informações citadas.
$_GET
Este método é um dos dois métodos mais utilizados para passar informação entre páginas. Os dados através do $_GET são passados através do URL, e essas informações são inseridas após o endereço actual do website – http://www.escolacriatividade.com?var1=valor1&var2=valor2. A sintaxe é fácil, começa com um ponto de interrogação, de seguida vem a variável seguida de um sinal de igual e do valor da variável. Para adicionair mais que uma, utiliza-se um “&” a separar. Felizmente para facilitar este processo, PHP contém uma função de encurtamento do URL, que pode ser utilizada para preparar os valores para serem passados através de um URL.
Esta função é utilizada em parelha com o urldecode() e juntas permitem-lhe passar valores complexos através do url:
<?php relatorio_erro(E_ALL); $var = "Este é um valor complexo e necessita de ser codificado."; //saída da string original echo $var, "<br /><br />"; //Codificar a string $ext = urlencode($var); //Dar o Output da string codificada echo $ext, "<br /><br />"; //Descodificar a string e o output echo urldecode($ext); ?>
Espero que tenha compreendido todos os passos. Este é o primeiro de vários artigos sobre esta temática relacionada com PHP. Se tive dúvidas, questões ou pretender simplesmente dar o seu ponto de vista, deixe um comentário!
Abraço e até já!
























Jose Correia
Ótimo artigo, outro bom seria sobre o mysql que acho muito interessante.
Parabens pelo artigo.
Diogo Espinha
Olá José, obrigado pelo seu comentário!
Abraço
Jose
Uma perguntinha revi o seu artigo mas tou com duvida no relatorio_erro(E_ALL);
não percebi para que serve esse código nem o E_ALL
? Cumprimentos.