O PHP Superglobais $ _GET e $ _POST são usados para coletar form-data.
PHP - um formulário HTML simples
O exemplo a seguir 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>
Exemplo executar » Quando o usuário preenche o formulário acima e clicar no botão enviar, os dados do formulário é enviado para processamento em um arquivo PHP chamado "welcome.php" . Os dados do formulário é enviado com o método POST HTTP.
Para exibir os dados apresentados você poderia simplesmente ecoam 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 como isto:
Welcome John
Your email address is [email protected]
O mesmo resultado também poderia ser alcançado 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>
Exemplo executar » e "welcome_get.php" se parece com isso:
<html>
<body>
Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>
</body>
</html>
O código acima é bastante simples. No entanto, a coisa mais importante está faltando. Você precisa validar os dados do formulário para proteger seu script de código malicioso.
Pense SEGURANÇA ao processar formas de PHP!
Esta página não contém qualquer validação de formulário, isso só mostra como você pode enviar e recuperar dados do formulário.
No entanto, as próximas páginas irá mostrar como processar formas de PHP com a segurança em mente! validação adequada de dados do formulário é importante para proteger a sua forma de hackers e spammers!
GET vs. POST
GET e POST criar uma matriz (por exemplo, array( key => value, key2 => value2, key3 => value3, ...) ). Esta 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.
GET e POST são tratados como $ _GET e $ _POST. Estes são superglobals, o que significa que eles estão sempre acessíveis, independentemente do escopo - e você pode acessá-los de qualquer função, classe ou arquivo sem ter que fazer nada especial.
$ _GET é um array de variáveis passadas para o script atual via os parâmetros de URL.
$ _ POST é um conjunto de variáveis passadas para o script atual via o método HTTP POST.
Quando usar GET?
As informações enviadas a partir de um formulário com o método GET é visível para todos (todos os nomes e valores de variáveis são exibidos no URL). GET também tem limites sobre a quantidade de informações a serem enviadas. A limitação é de cerca de 2,000 caracteres. No entanto, porque as variáveis são exibidos no URL, é possível marcar a página. Isso pode ser útil em alguns casos.
GET pode ser usado para o envio de dados não sensíveis.
Note: GET nunca deve ser usado para o envio de senhas ou outras informações confidenciais!
Quando usar POST?
As informações enviadas a partir de um formulário com o método POST é invisível para os outros (all names/values are embedded within the body of the HTTP request) e não tem limites para a quantidade de informações a serem enviadas.
Além disso POST suporta funcionalidades avançadas, tais como suporte para entrada binária multi-parte ao enviar arquivos para o servidor.
No entanto, porque as variáveis não são exibidos na URL, não é possível marcar a página.
Desenvolvedores preferem POST para o envio de dados do formulário.
Em seguida, vamos ver como podemos processar formulários PHP o caminho seguro!