freeCodeCamp/guide/portuguese/php/php-form-handling/index.md

4.1 KiB
Raw Blame History

title localeTitle
PHP 5 Form Handling Manipulação de Formulários PHP 5

Os superglobais PHP _GET e_ POST são usados para coletar dados de formulário.

PHP - Um formulário HTML simples

O exemplo abaixo exibe um formulário HTML simples com dois campos de entrada e um botão de envio:

Exemplo

<html> 
 <body> 
 
 <form action="welcome.php" method="post"> 
 Name: <input type="text" name="name"><br> 
 E-mail: <input type="text" name="email"><br> 
 <input type="submit"> 
 </form> 
 
 </body> 
 </html> 

Quando o usuário preenche o formulário acima e clica no botão de envio, os dados do formulário são enviados para processamento em um arquivo PHP chamado "welcome.php". Os dados do formulário são enviados com o método HTTP POST.

Para exibir os dados enviados, você poderia simplesmente fazer eco de todas as variáveis. O "welcome.php" é assim:

<html> 
 <body> 
 
 Welcome <?php echo $_POST["name"]; ?><br> 
 Your email address is: <?php echo $_POST["email"]; ?> 
 
 </body> 
 </html> 

A saída poderia ser algo assim:

Welcome John 
 Your email address is john.doe@example.com 

O mesmo resultado também pode ser obtido usando o método HTTP GET:

Exemplo

<html> 
 <body> 
 
 <form action="welcome_get.php" method="get"> 
 Name: <input type="text" name="name"><br> 
 E-mail: <input type="text" name="email"><br> 
 <input type="submit"> 
 </form> 
 
 </body> 
 </html> 

e "welcome_get.php" é assim:

<html> 
 <body> 
 
 Welcome <?php echo $_GET["name"]; ?><br> 
 Your email address is: <?php echo $_GET["email"]; ?> 
 
 </body> 
 </html> 

O código acima é bem simples. No entanto, o mais importante está faltando. Você precisa validar os dados do formulário para proteger seu script contra códigos maliciosos.

Pense em SEGURANÇA ao processar formulários PHP!

Esta página não contém nenhuma validação de formulário, apenas mostra como você pode enviar e recuperar dados de formulário.

No entanto, as próximas páginas mostrarão como processar formulários PHP com a segurança em mente! A validação adequada dos dados do formulário é importante para proteger seu formulário contra hackers e spammers!

GET vs. POST

Tanto o GET quanto o POST criam uma matriz (por exemplo, matriz (chave => valor, chave2 => valor2, chave3 => valor3,…)). Essa matriz contém pares de chave / valor, em que as chaves são os nomes dos controles de formulário e os valores são os dados de entrada do usuário.

Tanto o GET quanto o POST são tratados como _GET e_ POST. São superglobais, o que significa que estão sempre acessíveis, independentemente do escopo - e você pode acessá-los de qualquer função, classe ou arquivo sem precisar fazer nada especial.

$ _GET é uma matriz de variáveis passadas para o script atual por meio dos parâmetros de URL.

$ _POST é uma matriz de variáveis passadas para o script atual através do método HTTP POST.

Quando usar o GET?

As informações enviadas de um formulário com o método GET ficam visíveis para todos (todos os nomes e valores de variáveis são exibidos no URL). O GET também tem limites na quantidade de informação a ser enviada. A limitação é de cerca de 2000 caracteres. No entanto, como as variáveis são exibidas na URL, é possível marcar a página como favorito. Isso pode ser útil em alguns casos.

GET pode ser usado para enviar dados não confidenciais.

Nota: GET nunca deve ser usado para enviar senhas ou outras informações confidenciais!

Quando usar o POST?

As informações enviadas de um formulário com o método POST são invisíveis para os outros (todos os nomes / valores são incorporados ao corpo da solicitação HTTP) e não têm limites quanto à quantidade de informações a serem enviadas.

Além disso, o POST suporta funcionalidades avançadas, como suporte para entrada binária multi-parte, ao carregar arquivos para o servidor.

No entanto, como as variáveis não são exibidas na URL, não é possível marcar a página como favorito.

Os desenvolvedores preferem o POST para enviar dados de formulário.