Programação
 › Algoritmo  › C/C++  › Java
Web
 › HTML/XHTML  › JavaScript  › PHP
Sistema Operacional
 › Comandos de DOS  › Windows  › Linux  › Mac/BSD
Office
 › Word / Writer  › Excel / Calc
Áreas do Site
 › Download  › Fórum  › Blog
Recomendamos
Computadores e Informática em Lisboa
TI Expert » Programação » Web » PHP » $_GET, $_POST, $_REQUEST - Obter Dados de Formulário

Obter Dados de Formulário

Dentre os aspectos mais importantes de linguagens de programação web dinâmicas como PHP, é a possibilidade de obter dados de formulários HTML.

Existem duas formas principais de obter dados de um formulário que irão depender da forma como o formulário é submetido.

Os valores dos formulários são armazenados e acessados por variáveis de coleção.

$_GET

Formulários enviados pelo método get, passam o valor de suas variáveis pela URL dinâmica ou parâmetros de URL.

Esses valores são acessados pela variável de coleção $_GET.

Os nomes das variáveis servem de chave para a coleção. Veja o exemplo abaixo:

Se, por exemplo, tivermos uma URL da seguinte maneira.

http://forum.tiexpert.net/viewtopic.php?f=15&t=5

Nós teremos duas variáveis:

f = 15 e t = 5.

Dessa forma, podemos utilizar o nome das variáveis para acessar esses valores. Assim:

<?php
  echo("A 1a. variável vale " . $_GET['f']);
  echo(" e a 2a. vale " . $_GET['t']);
?>

$_POST

Formulários enviados pelo método post, passam suas variáveis codificadas dentro da própria submissão, ou seja, as variáveis não são visíveis ao usuário, apenas o servidor e o browser conhecem tais informações.

<FORM NAME="form1" METHOD="post" ACTION="pagina.php">
  Campo 1:
  <INPUT TYPE="text" NAME="campo1">
  <BR>
  Campo 2:
  <TEXTAREA NAME="campo2"></TEXTAREA>
  <BR>
  <INPUT TYPE="submit" VALUE="Enviar">
</FORM>

Podemos obter o valor das variáveis usando os nomes dos elementos do formulário como campos input, select e textarea. Portanto, se tivermos um formulário como no exemplo acima, usariamos os nomes dos atributos NAME como chave de nossa coleção $_POST

<?php
  echo("A 1a. variável é " . $_POST['campo1']);
  echo(" e a 2a. é " . $_POST['campo2']);
?>

$_REQUEST

$_REQUEST é uma variável de coleção genérica, isso quer dizer que, não há diferença se o valor passado pelo formulário foi pelo método post ou pelo método get.

Isso acontece porque  $_REQUEST verifica todas as entradas de dados em uma ordem específica determinada pela variável variables_order no arquivo de configuração php.ini.

Geralmente, a busca pelo valor de uma chave é feita na seguinte ordem:

Variáveis de URL (get) - Variáveis de formulário (post) - Variáveis de Cookies - Variáveis de Sessão

Mas, como dito anteriormente, isso pode ser alterado.

Vale a pena ressaltar que uma chave sobrescreve a outra. Ou seja, se tivermos um formulário da seguinte maneira:

<FORM NAME="form1" METHOD="post" ACTION="pagina.php?v=12345">
  <INPUT TYPE="text" NAME="v" VALUE="TI Expert">
  <INPUT TYPE="submit" VALUE="Enviar">
</FORM>

E usamos echo() para visualizar o valor da variável v.

<?php
  echo($_REQUEST['v']);
?>

O valor apresentado não será 12345, e sim, TI Expert.

Creative Commons License
Autor: Denys William Xavier
Este artigo está sob Licença Creative Commons.

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 75975 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog