Ícone do site Diego Macêdo

Enviado dados para o PHP através de formulário

Bom galera, eu estive um tempo parado sem postar nada aqui no blog, mas prometo que vou tentar voltar a ativa. Mas vamos deixar de conversa e vamos ao que interessa mesmo.

Os iniciantes em PHP sempre tem a dúvida de como fazer o envio de umas informações de uma página para outra. Como vimos na postagem anterior as diferenças do GET e POST, agora vamos mostrar na prática como funciona o código.

A princípio, devemos saber que basicamente o envio dos dados de um formulário, geralmente, são enviados pelo método POST devido a sua capacidade de enviar grandes dados e segurança.

Só para recapitular um pouco sobre formulário em HTML, temos os seguintes tipos de campos de dados:

Montando o formulário HTML

Todo formulário começa com a tag <form> e para uo funcionamento com o PHP, precisamo definir alguns parâmetros como “action” e “method” e seus devidos valores de acordo com a sua necessidade.

Os campos do formulários precisam ter o parâmetro “name” com um valor definido, pois será o PHP que irá capturar através deste name o valor passado no formulário.

Uma outra necessidade é colocar um botão de “submit” que é responsável pelo gatilho de envio dos dados que foram preenchidos no formulário e jogando para a página que irá recebê-los.

Vamos começar com um exemplo simples de formulário com apenas 2 campos, nome e idade. Vamos chamar esse arquivo de “formulário.php”. Vejamos o código abaixo:

<form id="formulario" name="formulario" method="post" action="recebe_dados.php">
Nome: <input type="text" name="campo_nome" id="campo_nome" /><br />
Idade: <input type="text" name="campo_idade" id="campo_diade" /><br />
<input type="submit" name="button" id="button" value="Enviar" />
</form>

Perceba que eu defini o action para o arquivo “recebe_dados.php” e utilizando o método POST. Os nomes dos campos nome e idade estão definidos como “campo_nome” e “campo_idade” respectivamente.

Recebendo os dados na outra página

Para a captura de dados enviados para o PHP, nós utilizamos as seguintes variáveis: $_POST e $_GET; de acordo com o método definido no formulário. Como no nosso exemplo acima eu utilizei o método POST, vou mostrar agora como iremos capturar esses dados no arquivo “recebe_dados.php”:

<?php
echo "O nome enviado foi: ".$_POST['campo_nome']."<br />";
echo "A idade enviada foi: ".$_POST['campo_idade']."<br />";
?>

Perceba que dentro do $_POST eu defini em cada campo o nome do campo utilizado no formulário com o parâmetro “name”. Então não importa o valor do “name” que você definir lá no formulário, pois basta você definir o mesmo nome na hora de capturar pelo PHP no $_POST. Ou seja, se no campo eu definir o valor do “name” para “banana” no PHP eu tenho que utilizar $_POST[‘banana’]. Deu pra entender a jogada?

É muito simples mesmo esse envio de dados!

Agora veja abaixo como seria em cada tipo de dados no formulário e como capturar no PHP.

Campo Hidden

Neste tipo de campo, precisamo definir um “value”, que será o valor enviado através do camop de forma já definida.

HTML:

<input type="hidden" name="macaco" value="banana" />

PHP:

<?php
echo $_POST['macaco']; // Receberá o valor "banana"
?>

Campo Text e Textarea

HTML:

<input type="text" name="email" />
<textarea name="mensagem" id="textarea" cols="45" rows="5"></textarea>

PHP:

<?php
echo $_POST['email'];
echo $_POST['mensagem'];
?>

Campo Checkbox

HTML:

<input type="checkbox" name="valor" value="10" />

PHP:

<?php
echo $_POST['valor'];
?>

Campo Select

Mais uma diferença no tipo SELECT, pois nele definimos normalmente o “name” e os “values” são definidos em cada “<option>”.

HTML:

<select name="sexo" id="select">
<option value="m">Masculino</option>
<option value="f">Feminino</option>
</select>

PHP:

<?php
echo $_POST['sexo'];
?>

E chagemos ao fim do entendimento de como passar os dados de um formulário para uma página PHP receber os dados e você fazer o que quiser com eles, por exemplo, manipular os dados e cadastrar no banco de dados.

Espero que tenham entendido e que façam um bom proveito do material.

Grande abraço e fico no aguardo de dúvidas!

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

Sair da versão mobile