Tutorial PHP

PHP INÍCIO Introdução ao PHP Instalação do PHP Sintaxe PHP Comentários PHP Variáveis ​​PHP PHP Eco/Impressão Tipos de dados PHP Strings PHP Números PHP Matemática PHP Constantes PHP Operadores PHP PHP If...Else...Elseif Chave PHP Loops PHP Funções PHP Matrizes PHP PHP Superglobais PHP RegEx

Formulários PHP

Manipulação de formulários PHP Validação de formulário PHP Formulário PHP obrigatório URL/e-mail do formulário PHP Formulário PHP completo

PHP Avançado

Data e hora do PHP Incluir PHP Manipulação de arquivos PHP Arquivo PHP Abrir/Ler Arquivo PHP Criar/Gravar Upload de arquivo PHP Cookies PHP Sessões PHP Filtros PHP Filtros PHP Avançados Funções de retorno de chamada do PHP PHP JSON Exceções do PHP

PHP OOP

PHP O que é POO Classes/objetos PHP Construtor PHP Destruidor PHP Modificadores de acesso PHP Herança PHP Constantes PHP Classes abstratas PHP Interfaces PHP Características PHP Métodos estáticos PHP Propriedades estáticas do PHP Namespaces PHP Iteráveis ​​PHP

Banco de dados MySQL

Banco de dados MySQL MySQL Connect MySQL Criar banco de dados MySQL Criar Tabela Dados de inserção do MySQL MySQL Obter Último ID MySQL Inserir Múltiplo Preparado para MySQL Dados de seleção do MySQL MySQL Onde MySQL Ordenar por Dados de exclusão do MySQL Dados de atualização do MySQL Dados de limite do MySQL

PHP XML

Analisadores XML PHP Analisador PHP SimpleXML PHP SimpleXML - Obter PHP XML Expatriado PHP XML DOM

PHP - AJAX

Introdução AJAX PHP AJAX Banco de dados AJAX XML AJAX Pesquisa em tempo real AJAX Enquete AJAX

Exemplos PHP

Exemplos PHP Compilador PHP Teste PHP Exercícios PHP Certificado PHP

Referência PHP

Visão geral do PHP Matriz PHP Calendário PHP Data do PHP Diretório PHP Erro PHP Exceção PHP Sistema de arquivos PHP Filtro PHP PHP FTP PHP JSON Palavras-chave PHP PHP Libxml Correio PHP Matemática PHP PHP Diversos PHP MySQLi Rede PHP Controle de saída PHP PHP RegEx PHP SimpleXML Fluxo PHP String PHP Manipulação de variáveis ​​PHP Analisador XML PHP PHP Zip Fusos horários PHP

Manipulação de formulários PHP


As superglobais PHP $_GET e $_POST são usadas 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 enviar, 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ê pode simplesmente ecoar todas as variáveis. O "welcome.php" se parece com isso:

<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 [email protected]

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" fica 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 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 um array (por exemplo, array( key1 => value1, key2 => value2, key3 => value3, ...)). Essa matriz contém pares de chave/valor, onde as chaves são os nomes dos controles de formulário e os valores são os dados de entrada do usuário.

Ambos GET e 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 de 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 por meio do método HTTP POST.


Quando usar GET?

As informações enviadas de um formulário com o método GET são visíveis para todos (todos os nomes e valores das variáveis ​​são exibidos na URL). GET também tem limites na quantidade de informações a serem enviadas. 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. 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 outros (todos os nomes/valores são incorporados no corpo da solicitação HTTP) e não têm limites na quantidade de informações a serem enviadas.

Além disso, o POST suporta funcionalidades avançadas, como suporte para entrada binária de várias partes durante o upload de 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.

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

Em seguida, vamos ver como podemos processar formulários PHP de maneira segura!


Exercícios PHP

Teste-se com exercícios

Exercício:

Se o formulário na seção branca abaixo for enviado, como você pode, em welcome.php, gerar o valor do campo "first name"?

<form action="welcome.php" method="get"> First name: <input type="text" name="fname"> </form>
<html> <body> Welcome <?php echo ; ?> </body> </html>