Você está na página 1de 3

formulario em php

estava eu tranquilo, quando leandro cunha, camaradassa meu me perguntou sobre como
fazer um formul�rio via php. como estava no meebo e odeio esses im via browser,
achei melhor postar algo no blog, com isso, posso ajudar poss�veis pessoas que
tenham d�vidas sobre o assunto.

� muito simples sua implementa��o, pra quem j� conhece php legal, j� mexe, isso �
mole, mas pro pessoal que tah come�ando agora, tah no b�sico ainda, vale ler (eu
acho :p )
primeira parte - html

primeiramente, l�gico, vou postar um c�digo html de um formul�rio (lembrando que


n�o coloquei nenhum estilo pro formul�rio, isso fica com voc�s ok? ;) ) ver
exemplo online:
<form action="enviar_formulario.php" method="post">
nome:<br /> <input type=�text� name=�nome� />
e-mail:<br /> <input type=�text� name=�email� />
mensagem:<br /> <textarea name=�mensagem� cols=�32? rows=�8?></textarea><br />
<input type=�submit� value=�enviar� />
<form>

como podemos ver, um simples formul�rio, muito feio, sem estilo nenhum. caso
queiram modificar, fiquem � vontade, coloquem fieldset, legend, labels, etc� vou
ver se em breve eu crio um tutorial de como criar um formul�rio estilizado e nos
padr�es ;)

creio que n�o precise comentar sobre o c�digo acima, todos que estiverem lendo
devem conhecer html (pelo menos espero), mas darei uma comentada:
<form action="enviar_formulario.php" method="post">

nesta linha, criei a tag form, essencial, e nela coloquei o atributo action que
recebe o a p�gina onde o formul�rio enviar� as informa��es dispostas nos campos do
formul�rio. a p�gina utilizada foi a enviar_formulario.php, mas o nome fica a
crit�rio de voc�s, contanto que mude tamb�m quando criarem-na ok? ;)
nome:<br /> <input type=�text� name=�nome� />

um texto nome:, indicando que o pr�ximo campo � para colocar o nome, um pulo de
linha, para o campo vir abaixo do texto e o input que cria o campo de texto
chamado nome, que vai ser enviado pelo formul�rio e o arquivo php receber� como
vari�vel.
e-mail:<br /> <input type=�text� name=�email� />

idem ao item anterior, s� mudando para e-mail.


mensagem:<br /> <textarea name=�mensagem� cols=�32? rows=�8?></textarea><br />

semelhante aos anteriores, mas ao inv�s de input, � um textarea, para receber mais
informa��es, pois geralmente mensagens s�o maiores. e nele, t�m 32 colunas de
largura e 8 linhas de altura.
<input type=�submit� value=�enviar� />

um input com o bot�o de envio do formul�rio. � atrav�s dele que o formul�rio ser�
enviado para a p�gina php setada no action da tag form.

espero que tenham entendido essa parte, acho que deu pra dar uma explicadinha
legalzinha sobre cada parte. agora vamos cair dentro do arquivo php.
arquivo enviar_formulario.php
<?php
$nome = $_post[�nome�];
$email = $_post[�email�];
$mensagem = $_post[�mensagem�];

$msg = "<font face=�verdana� size=�1'><b>nome:</b> \t$nome</font><br>";


$msg .= "<font face=�verdana� size=�1'><b>e-mail:</b> \t$email</font><br>";
$msg .= "<font face=�verdana� size=�1'><b>mensagem:</b> \t$mensagem</font>";

$mensagem = "$msg";
$remetente = "$email";
$destinatario = "bruno@brunodulcetti.com";
$assunto = "tutorial de formul�rio brunodulcetti.com";
$headers = "from: ".$remetente."\ncontent-type: text/html"; # o �text/html� � o
tipo mime da mensagem
if(!mail($destinatario,$assunto,$mensagem,$headers)){
print "falha no envio da mensagem";
} else {
echo "<script>window.location.href=�obrigado.htm�</script>";
}
?>

bom, vamos l�, agora explicarei as linhas desse arquivo:


<?php

linha de abertura de c�digo php, sem isso, nada de php funcionando :d


$nome = $_post[�nome�];

essa linha, a variavel nome � criada e ela recebe o campo de texto nome, que foi
enviado via m�todo post pelo formul�rio, lembra? method=�post no form, agora
lembra n�o �? ;)
$email = $_post[�email�];

igual ao nome, mas mudando a vari�vel para email e o $_post['�] recebe o campo
email enviado pelo formul�rio.
$mensagem = $_post[�mensagem�];

igual aos anteriores, mas mudando a vari�vel para mensagem e o $_post['�] recebe o
campo mensagem enviado pelo formul�rio.
$msg = "<font face=�verdana� size=�1'><b>nome:</b> \t$nome</font><br>";

aqui � criada uma vari�vel msg, onde ela recebe a vari�vel nome, que declaramos e
demos o valor � ela anteriormente. a grande sacada e diferen�a, foi que eu usei
uma tag font com a fonte verdana como fonte padr�o e tamanho 1. fiz somente para o
formul�rio ser enviado com mais estilo, ficar um pouco mais bonito, sen�o fica
aquela fonte padr�o feia. mas isso fica a crit�rio de voc�s. e coloquei um br no
final, para pular de linha.
$msg .= "<font face=�verdana� size=�1'><b>e-mail:</b> \t$email</font><br>";

id�ntico ao anterior, mudando somente para vari�vel email e a vari�vel msg recebe
o valor anterior mais esse, n�o sobrescrevendo o valor anterior.
$msg .= "<font face=�verdana� size=�1'><b>mensagem:</b> \t$mensagem</font>";

id�ntico aos anteriores, mudando somente para vari�vel mensagem e a vari�vel msg
recebe os valores anteriores mais esse, n�o sobrescrevendo o valores anteriores.
$mensagem = "$msg";

vari�vel mensagem recebendo todo o conte�do da vari�vel msg.


$remetente = "$email";
vari�vel remetente recebendo a variavel email, que cont�m o email preenchido no
formul�rio, que aparecer� como o remetente no webmail.
$destinatario = "bruno@brunodulcetti.com";

aqui temos uma vari�vel destinatario, que � onde voc� colocar� o email para onde o
conte�do ser� enviado.
$assunto = "tutorial de formul�rio brunodulcetti.com";

vari�vel assunto, que receber� um assunto especificado por voc� que aparecer� como
t�tulo, assunto do email que chegar� para voc�.
$headers = "from: ".$remetente."\ncontent-type: text/html"; # o �text/html� � o
tipo mime da mensagem

vari�vel headers que ser� enviado junto com o email, dizendo o mime da mensagem.
if(!mail($destinatario,$assunto,$mensagem,$headers)){

eu poderia pular essa parte, n�o colocar um if, mas coloquei, para caso d� algum
problema no envio, apare�a um aviso. neste if, temos um mail, que � a vari�vel do
php de envio de emails feitos por ele. em ordem, colocamos as vari�veis
destinatario que � seu email, assunto que � o t�tulo, assunto do email, mensagem
que � o conte�do do email enviado pelo formul�rio e o headers. neste if ele diz
resumidamente �se (o email naum foi enviado) fazer�. o s�mbolo de ! significa
nega��o no php e o { significa o in�cio das fun��es dentro do if.
print "falha no envio da mensagem";

como disse acima, caso o email n�o seja enviado, apare�e esta mensagem de erro,
avisando que houve uma falha.
} else {

aqui temos o fechamento do if, que � simbolizado pelo } e temos o else, que
significa �ent�o� e um s�mbolo de { indicando que haver� outra fun��o ou fun��es.
echo "<script>window.location.href=�obrigado.htm�</script>";

aqui n�s temos a fun��o que redireciona para uma nova p�gina, de obrigado, que
voc�s podem modific�-la como quiserem, tanto nome, layout, etc. havendo mudan�a no
nome, modifiquem aqui tamb�m para que n�o haja erro 404.
}

fechamento do else, fechamento definitivo do la�o if.

no geral, traduzindo, seria:


�se (o email naum foi enviado) fa�a�
�falha no envio�
�sen�o (se o email foi enviado corretamente) fa�a�
�redirecionamento e obrigado�
�fim do if�
?>

aqui temos o fechamento do php.

temos esse script funcionando na se��o contato do meu site.

espero que tenham gostado e que tenha sido de f�cil compreens�o. aos avan�ados,
desculpem, mas preferi colocar algo b�sico agora, pro pessoal que t� come�ando� em
breve posto algo mais avna�ado ok?

aquele abra�o galera.

Você também pode gostar