Trabalhando com Formulários Variáveis Globais $_POST e $_GET

PHP Formulário de Handling

A coisa mais importante a notar quando se lida com formulários HTML e PHP é que qualquer elemento de formulário em uma página HTML automaticamente estará disponível para seus scripts PHP.

O exemplo a seguir contém um formulário HTML com dois campos de entrada e um botão submit:

1 <html>
2 <body>
3
4 <form action="bem_vindo.php" method="post">
5 Nome: <input type="text" name="nome" />
6 Idade: <input type="text" name="idade" />
7 <input type="submit" />
8 </form>
9
10 </body>
11 </html>

Quando um usuário preenche o formulário acima e clicar no botão submit, os dados do formulário são enviados para um arquivo PHP, chamado “bem_vindo.php”:

“bem_vindo.php” se parece com isso:

1 <html>
2 <body>
3
4 Bem Vindo(a) <?php echo $_POST["nome"]; ?>!<br />
5 Você tem <?php echo $_POST["idade"]; ?> anos de idade.
6
7 </body>
8 </html>

Saída do código poderia ser algo como isto:

Bem Vindo(a) CarlosCX!
Você tem 21 anos de idade.

As variáveis ​​do PHP $_POST e $_GET serão explicadas nos próximos tópicos abaixo.

Validação de formulário

A entrada do usuário deve ser validada no navegador sempre que possível (por scripts de cliente). Validação navegador é mais rápida e reduz a carga do servidor.

Você deve considerar a validação no servidor se a entrada do usuário será inserida em um banco de dados. Uma boa maneira de validar um formulário no servidor é enviar o formulário para si, em vez de enviar para uma página diferente. O usuário terá acesso as mensagens de erro na mesma página do formulário. Isto torna mais fácil descobrir o erro.

No PHP, a variável predefinida $_GET é usada para coletar valores em um formulário com method = “get”.

A variável $_GET

A variável predefinida $_GET é usada para coletar valores em um formulário com method = “get”

As informações enviadas a partir de um formulário com o método GET é visível para todos (que será exibido na barra de endereços do navegador) e tem limites para a quantidade de informação a enviar.

Exemplo

1 <form action="bem_vindo.php" method="get">
2 Nome: <input type="text" name="nome" />
3 Idade: <input type="text" name="idade" />
4 <input type="submit" />
5 </form>

Quando o usuário clica no botão “enviar”, a URL enviada para o servidor poderia ser algo como isto:

http://www.cxmasters.com.br/bem_vindo.php?nome=CarlosCX&idade=21

O “bem_vindo.php” arquivo pode agora usar a variável $_GET para coletar dados de formulários (os nomes dos campos do formulário serão automaticamente as chaves para a array $_GET):

1 Bem Vindo(a) <?php echo $_GET["nome"]; ?>.<br />
2 Você tem<?php echo $_GET["idade"]; ?> anos de idade!

Quando usar method = “get”?

Ao usar method = “get” em formulários HTML, todos os nomes de variáveis ​​e valores são exibidos na URL.

Importante: Este método não deve ser usado quando ocorrer o envio de senhas ou outras informações confidenciais!

No entanto, porque as variáveis ​​são exibidas na URL, é possível marcar a página. Isto pode ser útil em alguns casos.

Importante: O método get não é adequado para muitos grandes valores de variáveis. Eles não devem ser usados com valores superiores a 2000 caracteres.

No PHP, a variável predefinida $ _POST é usado para coletar valores em um formulário com method = “post”.

A variável $ _POST

A variável predefinida $ _POST é usada para coletar valores de um formulário enviado com method = “post”.

As informações enviadas a partir de um formulário com o método POST é invisível para os outros e não tem limites para a quantidade de informação a enviar.

Importante: No entanto, existe 8Mb de tamanho máximo para o método POST, por padrão (pode ser alterado, definindo o post_max_size no arquivo php.ini).

Exemplo de form com método post:

1 <form action="bem_vindo.php" method="post">
2 Nome: <input type="text" name="nome" />
3 Idade: <input type="text" name="idade" />
4 <input type="submit" />
5 </form>

Quando o usuário clica no botão “enviar”, o URL será parecido com este:

http://www.cxmasters.com.br/bem_vindo.php

O “bem_vindo.php” arquivo pode agora usar a variável $_POST para coletar dados do formulário (os nomes dos campos do formulário serão automaticamente as chaves para a array $_POST):

1 Bem Vindo(a) <?php echo $_POST["nome"]; ?>!<br />
2 Você tem <?php echo $_POST["idade"]; ?> anos de idade.

Quando usar method = “post”?

As informações enviadas a partir de um formulário com o método POST é invisível para os outros e não tem limites para a quantidade de informação a enviar.

No entanto, porque as variáveis ​​não são apresentados na URL, não é possível marcar a página.

A variável $ _REQUEST

A variável predefinida $_REQUEST contém o conteúdo de $_GET, $_POST e $_COOKIE. Ou seja , usar $_REQUEST é o mesmo que utilizar $_GET , $_POST ou $_COOKIE , porém com o uso de apenas $_REQUEST , você pode se perder em algumas consultas do código.

A variável $_REQUEST pode ser usada para coletar dados de formulários enviados com ambos os métodos GET e POST.

Exemplo

1 Bem Vindo(a) <?php echo $_REQUEST["nome"]; ?>!<br />
2 Você tem <?php echo $_REQUEST["idade"]; ?> anos de idade.
  • 179 Usuários acharam útil
Esta resposta lhe foi útil?

Related Articles

Notice: "Undefined variable" ou "undefined index"

Para entender esse tipo de mensagem, observe o exemplo abaixo: $x = $y + 10; Executando esse...