Manipulação de Formulário PHP
Aqui, abordaremos todos os fundamentos da manipulação de formulários PHP , tudo, desde a criação de formulários HTML até a validação da entrada do usuário e a prevenção de vulnerabilidades de segurança.
O desenvolvimento da Web não está completo sem os formulários, pois eles fornecem aos usuários maneiras de interagir com o site e a capacidade de inserir dados.
Um formulário pode ser manipulado usando uma variedade de métodos PHP, incluindo os métodos GET e POST , e o PHP vem com uma ampla variedade de funções e variáveis predefinidas para tornar o processo de manipulação de formulários muito mais simples.
Formulários PHP
Abaixo está um exemplo de um formulário HTML simples com dois campos de entrada e um botão de envio:
Example:
Assim que o usuário preenche o formulário acima e clica no botão enviar, os dados do formulário são enviados para um arquivo PHP chamado “ login.php ” para processamento posterior após o envio dos dados do formulário.
Usando o método HTTP POST , os dados do formulário são enviados para o servidor.
Você pode exibir os dados enviados simplesmente ecoando os valores de todas as variáveis.
O arquivo login.php tem a seguinte aparência:
<html> <body> Welcome <?php echo $_POST[“username”]; ?><br> Login done successfully! ?> </body> </html>
Você também pode obter o mesmo resultado usando o método HTTP GET em vez do método HTTP POST :
Example:
e login.php para o método GET fica assim:
<html> <body> Welcome <?php echo $_GET[“username”]; ?><br> Login done successfully! ?> </body> </html>
Como você pode ver no exemplo acima, é bastante simples. Mas há uma coisa que falta e é a coisa mais importante.
Os dados do formulário inseridos em seu script devem ser validados para evitar que códigos maliciosos sejam injetados nele.
Não há validação de formulário nesta página. Como você pode ver, ele apenas mostra como você pode enviar e recuperar dados de um formulário.
As próximas páginas mostrarão como processar formulários PHP mantendo a segurança em mente.
Para proteger seu formulário contra hackers e spammers, é importante que os dados do formulário sejam validados adequadamente.
GET vs POST
GET e POST criam arrays de valores (por exemplo, arrays de key1 => value1 , arrays de key2 => value2 , arrays de key3 => value3 , etc.).
Os pares chave/valor são armazenados nesta matriz. Cada par chave/valor neste array representa um controle de formulário.
A chave representa o nome do controle e o valor representa os dados que foram inseridos pelo usuário.
Uma solicitação GET e POST são tratadas como solicitações $_GET e $_POST , respectivamente.
Essas são variáveis superglobais , o que significa que não importa qual seja o escopo da variável, elas sempre estarão disponíveis.
Não há necessidade de fazer nada especial para acessá-los de qualquer função, classe ou arquivo, pois eles podem ser acessados de qualquer lugar.
$_GET é uma matriz variável que contém strings que foram passadas pelos parâmetros de URL para o script.
$_POST é um array de variáveis que são passadas através do método HTTP POST para o script atual durante a execução.
Quando usar GET?
Quando as informações são enviadas de um formulário usando o método GET, elas ficam visíveis para todos na URL (todas as variáveis e seus valores podem ser vistos nessa URL).
Você também pode enviar uma quantidade limitada de dados usando uma solicitação GET.
Os dados podem ter no máximo 2.000 caracteres.
Como resultado das variáveis presentes na URL, é possível marcar a página caso seja necessário retornar a ela posteriormente.
Em alguns casos, isso pode ser muito útil. O método GET pode ser usado para enviar informações não confidenciais pela Internet.
Quando usar o POST?
Usando o método POST, você pode enviar dados de uma forma invisível para os outros (todos os nomes/valores são encapsulados no corpo da solicitação HTTP) e a quantidade de dados enviados não é restrita.
Além disso, o método POST fornece funcionalidade avançada, como a capacidade de carregar arquivos para um servidor em vários formatos de arquivo. Além disso, fornece um recurso para o uso de entrada binária multipartes.
Não é possível marcar uma página que contém variáveis, pois elas não são exibidas na URL.
POST é o método preferido de envio de dados de formulário pelos desenvolvedores.
A próxima coisa que precisamos fazer é aprender como os formulários PHP podem ser processados de maneira segura!