Tratamento de formulários PHP
- Página anterior Variáveis Superglobais do PHP
- Próxima página Validação de Formulário PHP
As variáveis globais superiores PHP $_GET e $_POST são usadas para coletar dados do formulário (form-data).
PHP - Um formulário HTML simples
O exemplo a seguir mostra um formulário HTML simples, que contém dois campos de entrada e um botão de envio:
Exemplo
<html> <body> <form action="welcome.php" method="post"> Nome: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>
Quando o usuário preencher este formulário e clicar no botão Enviar, os dados do formulário serão enviados para o arquivo PHP chamado "welcome.php" para processamento. Os dados do formulário são enviados pelo método HTTP POST.
Para exibir os dados enviados, você pode simplesmente imprimir (echo) todas as variáveis. O arquivo "welcome.php" é assim:
<html> <body> Bem-vindo <?php echo $_POST["name"]; ?><br> Seu endereço de e-mail é: <?php echo $_POST["email"]; ?> </body> </html>
Saída:
Bem-vindo Bill Seu endereço de e-mail é Bill.Gates@example.com
Você também pode obter o mesmo resultado usando o método HTTP GET:
Exemplo
<html> <body> <form action="welcome_get.php" method="get"> Nome: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>
"welcome_get.php" é assim:
<html> <body> Bem-vindo <?php echo $_GET["name"]; ?><br> Seu endereço de e-mail é: <?php echo $_GET["email"]; ?> </body> </html>
O código acima é simples. No entanto, o conteúdo mais importante foi omitido. Você precisa validar os dados do formulário para evitar vulnerabilidades no script.
Atenção:Atenção ao segurança ao lidar com formulários PHP!
Esta página não inclui nenhum programa de validação de formulário, ela apenas nos mostra como enviar e receber dados de formulário.
No entanto, os capítulos posteriores explicam como melhorar a segurança do formulário PHP! Validar adequadamente o formulário é crucial para se proteger contra ataques de hackers e spam.
GET vs. POST
GET e POST ambos criam arrays (por exemplo, array( key => value, key2 => value2, key3 => value3, ...) ). Este array contém pares chave/valor, onde a chave é o nome do controle de formulário e o valor é os dados de entrada do usuário.
GET e POST são considerados $_GET e $_POST. Eles são variáveis globais, o que significa que seu acesso não requer consideração de escopo - sem código especial, você pode acessá-los a partir de qualquer função, classe ou arquivo.
$_GET é o array de variáveis que são transmitidas via parâmetros da URL para o script atual.
$_POST é o array de variáveis que são transmitidas via HTTP POST para o script atual.
Quando usar GET?
Informações enviadas por meio do método GETVisível para todos(Todos os nomes de variáveis e valores são exibidos na URL)。GET tem restrições no número de informações enviadas. A restrição é de cerca de 2000 caracteres. No entanto, devido às variáveis estarem na URL, é mais fácil adicionar a página aos favoritos.
GET pode ser usado para enviar dados não sensíveis.
Comentário:Nunca use GET para enviar senhas ou outras informações sensíveis!
Quando usar POST?
Informações enviadas por meio do método POSTInvisível para outros(Todos os nomes/valores serão incorporados no corpo da solicitação HTTP),e também há restrições no número de informações enviadasIlimitado.
Além disso, POST suporta funcionalidades avançadas, como entrada multi-part binária ao enviar arquivos para o servidor.
No entanto, devido às variáveis não estarem visíveis na URL, não é possível adicionar a página aos favoritos.
Dica:Desenvolvedores preferem POST para enviar dados de formulário.
Vamos ver agora como lidar de maneira segura com formulários PHP!
- Página anterior Variáveis Superglobais do PHP
- Próxima página Validação de Formulário PHP