Formulário de registro PHP usando métodos GET, POST com exemplo
⚡ Resumo Inteligente
O processamento de formulários em PHP captura a entrada do usuário em formulários HTML e a processa no servidor através das superglobais $_POST e $_GET. Este tutorial cria um formulário de cadastro, explica os métodos POST e GET, compara-os e mostra como processar campos, caixas de seleção e campos de pesquisa.

O que é Formulário?
Ao fazer login em um site ou em sua caixa de entrada de e-mail, você está interagindo com um formulário.
Os formulários são usados para obter informações do usuário e enviá-las ao servidor web para processamento.
O diagrama abaixo ilustra o processo de manipulação de formulários.
Um formulário é uma tag HTML que contém elementos de interface gráfica do usuário, como caixas de entrada, caixas de seleção, botões de opção e muito mais.
O formulário é definido usando o … As tags e os itens da interface gráfica são definidos usando elementos de formulário, como o input.
Quando e por que estamos usando formulários?
- Os formulários são úteis quando se desenvolveping Aplicações flexíveis e dinâmicas que aceitam entrada do usuário.
- Os formulários podem ser usados para editar dados já existentes no banco de dados.
Crie um formulário
Usaremos tags HTML para criar um formulário. Abaixo está a lista mínima de coisas que você precisa para criar um formulário.
- Abrindo e fechando tags de formulário …
- Tipo de envio de formulário POST ou GET
- Submissão URL que processará os dados enviados
- Campos de entrada, como caixas de entrada, áreas de texto, botões, caixas de seleção e similares.
O código abaixo cria um formulário de inscrição simples.
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <h2>Registration Form</h2> <form action="registration_form.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> </body> </html>
A visualização do código acima em um navegador da web exibe o seguinte formulário.
AQUI,
- … são as tags de abertura e fechamento do formulário
- action=”registration_form.php” method=”POST” especifica o destino URL e o tipo de submissão.
- Nome/Sobrenome: são rótulos para as caixas de entrada
- são tags de caixa de entrada
- é a nova tag de linha
- é um valor oculto que é usado para verificar se o formulário foi enviado ou não
- É o botão que, ao ser clicado, envia o formulário para o servidor para processamento.
Enviando os dados do formulário para o servidor
O atributo `action` do formulário especifica o tipo de envio. URL que processa os dados. O atributo `method` especifica o tipo de submissão.
Método PHP POST
- Esta é a variável de array superglobal integrada do PHP, usada para obter valores enviados pelo método HTTP POST.
- A variável array pode ser acessada a partir de qualquer script do programa; tem um escopo global.
- Este método é ideal quando você não deseja exibir os valores enviados pelo formulário no URL.
- Um bom exemplo de utilização do método POST é o envio de dados de login para o servidor.
Possui a seguinte sintaxe.
<?php
$_POST['variable_name'];
?>
AQUI,
- “$_POST[…]” é o Array PHP
- “'variable_name'” é o nome do campo do formulário.
Método PHP GET
- Esta é a variável de array superglobal integrada do PHP, usada para obter valores enviados pelo método HTTP GET.
- A variável array pode ser acessada a partir de qualquer script do programa; tem um escopo global.
- Este método exibe os valores do formulário no URL.
- É ideal para formulários de mecanismos de busca, pois permite que os usuários salvem os resultados como favoritos.
Possui a seguinte sintaxe.
<?php
$_GET['variable_name'];
?>
AQUI,
- “$_GET[…]” é o array PHP
- “'variable_name'” é o URL nome variável.
Métodos GET vs POST
| POST | ENTRE |
|---|---|
| Valores não visíveis no URL | Valores visíveis no URL |
| Não possui limitação quanto ao comprimento dos valores, visto que são enviados através do corpo da requisição HTTP. | Possui uma limitação no comprimento dos valores, geralmente 255 caracteres. Isso ocorre porque os valores são exibidos no URLObserve que o limite máximo de caracteres depende do navegador. |
| Apresenta desempenho inferior em comparação ao método GET devido ao tempo gasto encapsulando os valores POST no corpo da requisição HTTP. | Apresenta desempenho superior em comparação ao método POST devido à simplicidade de concatenar os valores no URL. |
| Suporta diversos tipos de dados, como string, numérico, binário e muito mais. | Suporta apenas tipos de dados do tipo string, pois os valores são exibidos no URL |
| Os resultados não podem ser adicionados aos favoritos. | Os resultados podem ser adicionados aos favoritos devido à visibilidade dos valores no URL |
O diagrama abaixo mostra a diferença entre GET e POST.
Processamento dos dados do formulário de inscrição
O formulário de registro envia dados para si mesmo conforme especificado no atributo action do formulário.
Quando um formulário é submetido, os valores são inseridos na matriz superglobal $_POST.
Usaremos a função isset do PHP para verificar se os valores do formulário foram preenchidos no array $_POST e processar os dados.
Vamos modificar o formulário de inscrição para incluir o código PHP que processa os dados. Abaixo está o código modificado.
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_POST['form_submitted'])): ?> // this code is executed when the form is submitted <h2>Thank You <?php echo $_POST['firstname']; ?> </h2> <p>You have been registered as <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?> </p> <p>Go <a href="/registration_form.php">back</a> to the form</p> <?php else: ?> <h2>Registration Form</h2> <form action="registration_form.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ?> </body> </html>
AQUI,
- Verifica se o campo oculto `form_submitted` foi preenchido no array `$_POST[]` e exibe uma mensagem de agradecimento e o primeiro nome. Se o campo `form_submitted` não estiver preenchido no array `$_POST[]`, o formulário é exibido.
Mais exemplos
Buscador simples
Vamos projetar um mecanismo de busca simples que utiliza o método GET do PHP como tipo de envio de formulário.
Para simplificar, usaremos um Instrução if em PHP para determinar a saída.
Usaremos o mesmo código HTML para o formulário de registro acima e faremos modificações mínimas nele.
<html> <head> <title>Simple Search Engine</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_GET['form_submitted'])): ?> <h2>Search Results For <?php echo $_GET['search_term']; ?> </h2> <?php if ($_GET['search_term'] == "GET"): ?> <p>The GET method displays its values in the URL</p> <?php else: ?> <p>Sorry, no matches found for your search term</p> <?php endif; ?> <p>Go <a href="/search_engine.php">back</a> to the form</p> <?php else: ?> <h2>Simple Search Engine - Type in GET </h2> <form action="search_engine.php" method="GET"> Search Term: <input type="text" name="search_term"> <br> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ?> </body> </html>
Visualize a página acima em um navegador da web.
O seguinte formulário será exibido.
Digite GET em letras maiúsculas e clique no botão enviar.
A seguir será exibido.
O diagrama abaixo mostra o URL pelos resultados acima.
Note o URL exibiu os valores de search_term e form_submitted. Tente digitar algo diferente de GET, clique no botão enviar e veja os resultados.
Trabalhando com caixas de seleção, botões de opção
Se o usuário não selecionar uma caixa de seleção ou botão de opção, nenhum valor será enviado. Se o usuário selecionar uma caixa de seleção ou botão de opção, o valor um (1) ou verdadeiro será enviado.
Modificaremos o código do formulário de registro e incluiremos um botão de verificação que permite ao usuário concordar com os termos de serviço.
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_POST['form_submitted'])): ?> <?php if (!isset($_POST['agree'])): ?> <p>You have not accepted our terms of service</p> <?php else: ?> <h2>Thank You <?php echo $_POST['firstname']; ?></h2> <p>You have been registered as <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?> </p> <p> Go <a href="/registration_form2.php">back</a> to the form</p> <?php endif; ?> <?php else: ?> <h2>Registration Form</h2> <form action="registration_form2.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <br> Agree to Terms of Service: <input type="checkbox" name="agree"> <br> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ?> </body> </html>
Visualize o formulário acima em um navegador.
Preencha o primeiro e o último nome.
Observe que a caixa de seleção Concordo com os Termos de Serviço não foi selecionada.
Clique no botão enviar.
Você obterá os seguintes resultados.
Clique no link "Voltar ao formulário" e, em seguida, selecione a caixa de seleção.
Clique no botão enviar.
Você obterá os seguintes resultados.










