Nesta aula estudaremos o que é um formulário Web, como construí-los, quais os tipos para o envio de informações, bem como, o recebimento dos dados pelos Scripts PHP e sua posterior manipulação. |
REQUISIÇÕES POST
O método POST, ao contrário do GET, não expõem os valores que estão sendo enviados na URL, mas sim, o mesmo encapsula os dados no cabeçalho da requisição HTTP que está sendo enviada ao servidor WEB.
Raramente iremos ter um cadastro que utilizará o método GET para envio dos dados, e também, quando estivermos trabalhando com informações confidências, o método POST será por sua definição e sua abstração, muito mais seguro.
Quando trabalhamos com informações criptografadas, estaremos trabalhando também, com o método POST, e então, temos que a criptografação das informações, irá acontecer, no cabeçalho da requisição que está sendo enviado para o servidor.
Assim, a diferença entre o método GET e POST é a forma como os dados são trafegados, ou seja, a forma como os dados serão expostos. Até porque, a maneira em que as informações serão enviadas é a mesma, ou seja, com o método POST, cada campo do formulário terá o seu valor associado ao seu nome e a String decorrente dessas associações, terá a mesma estrutura, do que a String gerada pelo método GET.
Então, a diferença será, só e somente só, na exposição destes dados, ou seja, o método GET passa os valores pela URL, enquanto o método POST passa as informações pelo cabeçalho HTML. Porém, a String gerada será igual em ambos os casos e também, o recebimento e trabamento dessas informações pelo PHP, ocorrerá de maneira análoga.
Internamente, o recebimento de dados pelo método POST em PHP, se da de maneira análoga ao recebimento de dados pelo méto GET já estudado.
A diferença em nosso código PHP para o recebimento das informações enviadas pelo método POST, será o nome da variável global em que os parâmetros enviados serão associados, ou seja, ao invés de utilizarmos a variável global $_GET, nós iremos utilizar a variável global $_POST.
HTML E REQUISIÇÕES GET E POST
As requisições do tipo GET são feitas pelo endereço que desejamos acessar, logo, não há nenhuma informação adicional. Basta informar o caminho absoluto do Script e em seguida, passar os parâmetros.
Requisições do tipo POST são comumente enviadas através de formulários HTML, porém, também, é possível trabalhar com formulários do tipo GET.
Cada campo contido no formulários HTML chegará no Script PHP através do Array Associativo, a chave do campo será o seu nome no documento HTML e o valor associado, será o valor informado pelo usuário (caso haja algum).
FORMULÁRIOS HTML
A forma mais comum para o envio de dados é através do uso de formulário HTML. Um formulário é construído através do uso da TAG <form> e nesta é definido o script para onde este formulário deve ser enviado, no caso, o atributo action e também, o método em que as informações deverão ser submetidas, no caso, temos que definir se o formulário será enviado através do métodos GET ou então do método POST no atributo de nome method da TAG.
Como estudamos, é possível o envio de valores através do método GET pela construção de uma URL, porém, quando estamos trabalhando com o envio de dados através do método POST, o comum é utilizarmos um formulário.
CRIANDO FORMULÁRIO COM HTML
No HTML, a TAG de um formulário é <form>. Na definição, a TAG <form> possui 2 atributos, são eles:
- action
- method
O atributo action é a URL absoluta até o Script PHP, ou seja, é o local para onde desejamos enviar o formulário.
O atributo method especifica o tipo da requisição, isto é: GET ou POST
Cada input contido no formulário deve conter o atributo name, haja vista que os valores são associados com a propriedade name de cada input.
CRIANDO UM FORMULÁRIO EM HTML
- A seguir temos um formulário básico de contato, neste é pedido 3 informações:
- nome
- mensagem
<form id="formulario" action="#" method="POST">
<fieldset>
<legend>Informações</legend>
<p>
<label for="nome">Nome: <em class="required">(obrigatório)</em></label>
<input name="nome" id="nome" type="text" />
</p>
<p>
<label for="email">Email Address:</label>
<input name="email" id="email" type="text" />
</p>
</fieldset>
<p>
<input type="button" value="Enviar" id="enviar"/>
</p>
</form>
RECEBENDO AS INFORMAÇÕES DO FORMULÁRIO
Quando recebemos uma requisição com o envio de um formulário do tipo POST, a variável global $_POST[''] irá conter a lista dos campos e a estes, estarão vinculados os valores.
Inicialmente, vamos verificar se os campos que compõem o formulário estão contidos e somente então, daremos continuidade no processamento das informações.
EXEMPLO FEITO EM AULA
formulario.php
<?php
#FORMULÁRIO HTML
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Fomulário HTML - Curso PHP - eXcript</title>
</head>
<body>
<form action="metodo_post.php?xget=50" method="POST">
<fieldset>
<legend>Formulário HTML</legend>
<p>
<label for="nome">Nome: </label>
<input type="text" name="nome" id="nome">
</p>
<p>
<label for="email">E-mail: </label>
<input type="email" name="email" id="email">
</p>
</fieldset>
<p>
<input type="submit" value="Enviar" id="enviar">
</p>
</form>
</body>
</html>
metodo_get.php .. code-block:: php
<?php
//var_dump($_GET);
echo 'Nome: ' . ($_GET['nome'] ?? '') . "<br>"; echo 'E-mail: ' . ($_GET['email'] ?? '') . "<br>";
.
Tags curso, php, form, formulário, html
Comentários
comments powered by Disqus