Formulário de registro PHP usando métodos GET, POST com exemplo

O que é Formulário?

Quando você faz login em um site ou em seu mail box, 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.

Formulário PHP

Um formulário é uma tag HTML que contém itens da interface gráfica do usuário, como entrada box, Verifica boxsão botões de opção etc.

O formulário é definido usando o … tags e itens da GUI são definidos usando elementos de formulário, como input.

Quando e por que estamos usando formulários?

  • Os formulários são úteis no desenvolvimento de aplicativos flexíveis e dinâmicos que aceitam entradas 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
  • URL de envio que processará os dados enviados
  • Campos de entrada, como entrada boxes, áreas de texto, botões, verifiqueboxé etc.

O código abaixo cria um formulário de registro 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>

rivalizarwing o código acima em um navegador da web exibe o seguintewing .

Crie um formulário

AQUI,

  • … são as tags de abertura e fechamento do formulário
  • action=”registration_form.php” method=”POST”> especifica o URL de destino e o tipo de envio.
  • Nome/Sobrenome: são rótulos para a entrada boxes
  • são de entrada box Tag
  • é 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 quando clicado envia o formulário ao servidor para processamento

Enviando os dados do formulário para o servidor

O atributo action do formulário especifica a URL de envio que processa os dados. O atributo method especifica o tipo de envio.

Método PHP POST

  • Esta é a variável de array superglobal integrada do PHP que é usada para obter valores enviados via 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 de postagem do formulário na URL.
  • Um bom exemplo de uso do método post é ao enviar o login details para o servidor.

Tem o seguintewing sintaxe.

<?php
 $_POST['variable_name'];
?>

AQUI,

  • “$_POST[…]” é o Array PHP
  • “'variable_name'” é o nome da variável URL.

Método PHP GET

  • Esta é a variável de array superglobal integrada do PHP que é usada para obter valores enviados via 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 na URL.
  • É ideal para formulários de mecanismos de pesquisa, pois permite que os usuários marquem os resultados.

Tem o seguintewing sintaxe.

<?php
$_GET['variable_name'];
?>

AQUI,

  • “$_GET[…]” é o array PHP
  • “'variable_name'” é o nome da variável URL.

Métodos GET vs POST

POST ENTRE
Valores não visíveis no URL Valores visíveis na URL
Não possui limitação de comprimento dos valores, pois são enviados via corpo do HTTP Tem limitação no comprimento dos valores geralmente 255 caracteres. Isso ocorre porque os valores são exibidosyed na URL. Observe que o limite superior dos caracteres depende do navegador.
Tem desempenho inferior comparado ao método Php_GET devido ao tempo gasto no encapsulamento dos valores Php_POST no corpo HTTP Possui alto desempenho em comparação ao método POST devido à natureza simples de anexar os valores na URL.
Suporta muitos tipos de dados diferentes, como string, numérico, binário, etc. Suporta apenas tipos de dados de string porque os valores são exibidosyed no URL
Os resultados não podem ser marcados no livro Os resultados podem ser marcados no livro devido à visibilidade dos valores na URL

O diagrama abaixo mostra a diferença entre get e post

Métodos GET vs POST

Métodos GET vs 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 é enviado, os valores são preenchidos no array 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.

Modificaremos o formulário de registro 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="/pt/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 nome.

    Se o campo form_fobmitted não foi preenchido no array $_POST[], o formulário é exibidoyed.

Mais exemplos

Buscador simples

Projetaremos um mecanismo de pesquisa simples que usa o método PHP_GET como tipo de envio do formulário.

Para simplificar, usaremos um Instrução PHP If 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="/pt/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 seguintewing formulário será mostrado

Mecanismo de pesquisa simples

Digite GET em letras maiúsculas e clique no botão enviar.

O seguintewing será mostrado

Mecanismo de pesquisa simples

O diagrama abaixo mostra o URL dos resultados acima

Mecanismo de pesquisa simples

Observe que o URL tem displayyed o valor de search_term e form_submitted. Tente inserir algo diferente de GET e clique no botão enviar e veja quais resultados você obterá.

Trabalhando com cheque boxsim, botões de opção

Se o usuário não selecionar uma verificação box ou botão de opção, nenhum valor será enviado, se o usuário selecionar uma verificação box ou botão de opção, o valor um (1) ou verdadeiro é 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="/pt/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

Trabalhando com cheque boxes, botões de opção

Preencha o nome e o sobrenome

Observe a verificação Concordo com os Termos de Serviçobox nao foi selecionado.

Clique no botão enviar

Você receberá o seguintewing resultados

Trabalhando com cheque boxes, botões de opção

Clique em voltar para o link do formulário e selecione o chequebox

Trabalhando com cheque boxes, botões de opção

Clique no botão enviar

Você receberá o seguintewing resultados

Trabalhando com cheque boxes, botões de opção

Resumo

  • Formulários são usados ​​para obter dados dos usuários
  • Os formulários são criados usando tags HTML
  • Os formulários podem ser enviados ao servidor para processamento usando o método POST ou GET
  • Os valores do formulário enviados por meio do método POST são encapsulados no corpo HTTP.
  • Os valores do formulário enviados por meio do método GET são anexados e exibidosyed no URL.