Assine nosso Feed


Melhores Dicas para Blogueiros

Passe o mouse e veja qual o assunto do tutorial de cada imagem

Formulário para envio de email em PHP

Essa dica é mais útil para quem tem sites do que para os blogueiros, por que é um formulário que envia email feito em duas partes, um arquivo HTML e outro php. Você só precisa criar os dois arquivos e salvar na mesma pasta onde hospeda seu site e pronto.

Primeiro salve o código abaixo com o nome contato.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
.form_botao {
background-color: #CCCCCC;
font: 15px Verdana;
border: 1px solid #0000FF;
margin: 3px;
}
.form_campos {
background-color: #FFFFFF;
font: 15px Verdana;
border: 2px solid #000066;
}
td {
padding-top: 5px;
padding-bottom: 5px;
padding-left: 3px;
}
.style1 {
font-size: 18pt;
font-family: "Comic Sans MS";
letter-spacing: 2px;
word-spacing: 5px;
}
-->
</style>
</head>
<body>
<form action="falar.php" method="post" name="formulario" id="formulario">
<div align="left">
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>
<td colspan="2" align="center" scope="col"><span class="style1">Fale Conosco</span></td>
</tr>
<tr>
<td align="right" scope="col">Nome</td>
<td scope="col"><input class="form_campos" type="text" name="nome" size="34" /></td>
</tr>
<tr>
<td align="right" scope="col">E-mail</td>
<td scope="col"><input class="form_campos" type="text" name="e-mail" size="34" /></td>
</tr>
<tr>
<td align="right" scope="col">Site/Blog</td>
<td scope="col"><input class="form_campos" type="text" name="endereco" size="34" id="endereco" /></td>
</tr>
<tr>
<td align="right" scope="col">Assunto</td>
<td scope="col"><input class="form_campos" type="text" name="assunto" size="34" id="assunto" /></td>
</tr>
<tr>
<td align="right" scope="col">Mensagem</td>
<td scope="col"><textarea class="form_campos" name="mensagem" cols="34" rows="4"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center" scope="col"><input class="form_botao" type="submit" name="Enviar" value="Enviar " />
<input class="form_botao" type="reset" name="Limpar" value="Limpar" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>


Depois com esse outro trecho crie um arquivo com o nome falar.php e salve na mesma pasta onde está o contato.html

<?
$hoje_tmp = getdate();
$hoje = ($hoje_tmp[hours].":".$hoje_tmp[minutes].":".$hoje_tmp[seconds]);
$nome = $_POST["nome"]; //trata a variável nome
$endereco = $_POST["endereco"]; //trata a variável estado
$email = $_POST["e-mail"]; //trata a variável e-mail
$assunto = $_POST["assunto"]; //trata a variável assunto
$mensagem = $_POST["mensagem"]; //trata a variável mensagem
global $email; //transforma em variavel global a variável e-mail
$enviou = mail("dicasparablogs@gmail.com", // aqui voce coloca o seu e-mail
"$assunto",
"Nome: $nome
Endereco: $endereco
E-mail: $email
Assunto: $assunto
Mensagem: $mensagem",
"From: $email <$nome>");
if ($enviou){
header('location:http://www.acessoriosparablogs.com.br/sucessomail.html');
}
else {
header('location:http://www.acessoriosparablogs.com.br/erromail.html');
}
?>

Note que tem uma linha onde está o nosso email:
$enviou = mail("dicasparablogs@gmail.com", // aqui você coloca o seu e-mail, então troque para o endereço de email que você desejar.

Outra coisa é no final do código tem:
if ($enviou){
header('location:http://www.acessoriosparablogs.com.br/sucessomail.html');
}
else {
header('location:http://www.acessoriosparablogs.com.br/erromail.html');
}
?>

Isso são as paginas para as quais o site será redirecionado em caso de sucesso ou erro no envio do email, então altere os endereços. Agora que já criou os dois arquivos só precisa fazer upload dos arquivos, mas tenha os dois precisam estar na mesma pasta no servidor onde você tem seu site.

Outra coisa importante é que nem sempre esses formulários funcionam em hospedagens grátis, já ouvi varias queixas sobre isto, mas o problema não está nos códigos, mas na disponibilidade de serviço do local onde você hospeda seu site.

Copiamos e modificamos esses códigos a partir da pagina de ajuda do UolHost e estamos usando em nosso novo site Acessórios para Blogs, mas esse site ainda está no inicio e falta muita coisa a fazer nele, portanto pedimos a compreensão de quem visitar nosso novo site quando ao pouco conteúdo e alguma possível falha nos links ou qualquer outra coisa.

Veja também:
Enviar atualizações do seu blog por email
Formulários de contato prontos Related Posts with Thumbnails
Link desta página
Comentários
56 Comentários

56 Comentários:

Vinícius[ADM] disse...

Finalmente, não estava achando essa dica em nenhum lugar,
Muito obrigado

plaidy disse...

Ótima dica!

eL n!ñOo= || »Manel Veloso« disse...

como faço para por isso no meu blog???

responde-me Fabiano

Arruma Blog disse...

Ótima dica realmente. Assim, nunca mechi diretamente com PHP mas acho simples. Acredito que em servidores gratuítos o resultado não seria tão lamentoso assim, depende onde seria hospedado, acho que vou analisar mais o assunto e dependendo como for, fazer uma postagem relacionada. Este post me inspirou.

joelma couto disse...

Feliz dia do amigo! Tem um selinho para vc. abraços.

Fabiano Roberto disse...

eL n!ñOo= || »Manel Veloso«
essa dica é para pessoas que tem sites, em blogs não é possivel pois precisa hospedar um arquivo php.

mas neste link tem alguns sites que fazem formularios de contato para blogs
http://www.dicasparablogs.com.br/2009/03/enviar-atualizacoes-por-email.html

Fabiano Roberto disse...

Arruma Blog
tentei duas vezes em hospedagem grátis e não deu certo, mas isso já faz tempo, acho que as coisas melhoraram um pouco deste então..

eL n!ñOo= || »Manel Veloso« disse...

Fabiano, mas eu recentemente passei por um blog, que por acaso deixou um comentário no seu blog, no blog dele eu encontrei como eu queria em meu blog, mas não sei como aplicar em meu blog, por favor dê uma vista de olhos, aqui fica o link - http://superwoofersul.blogspot.com/2008/07/contato.html

Fabiano Roberto disse...

eL n!ñOo= || »Manel Veloso«
o formulário que esse blog usa é do site www.formulariopro.pog.com.br, é só ir lá e conseguirá um para colocar no seu blog.

Anônimo disse...

Um exmplo que o blogger não hospeda php se você acessar http://www.dicasparablogs.com.br/index.php percebera que não existe mais se acessar http://www.dicasparablogs.com.br/index.html aparecera no início para hospedar php eu utilizo hospedagens gratuitas no http://www.000webhost.com/ faça seu cadastro e podera hospedar em php acesse meusite.darkila.com e veja o exemplo

Fabiano Roberto disse...

concordo, fazer um cadastro num site de hospedagem grátis é o melhor jeito para ter paginas extras para blog e usar esse formulario

pablo disse...

tem como fazer um formulário desses com arquivo de upload?

Fabiano Roberto disse...

aqui tem um tutorial sobre como fazer formulario com upload
http://www.criarweb.com/artigos/171.php

achei varias explicações no google pesquisando por formulario php upload, essa é apenas uma delas, então se quiser certamente encontrará outras, e talvez até algum jeito melhor de fazer isso.

Derick Furlanetto disse...

Já to virando fã do seu blog :]

Só gostaria de saber se vc consegue arrumar um desse tipo

http://www.nintendoblast.com.br/2009/03/nova-postagem.html


Obrigado :]

Fabiano Roberto disse...

acho que o sistema é parecido com o formulario desta postagem, mas claro usou varios outros recursos para dar a formatação, mas certamente precisa ter um site hospedado não dá pra fazer diretamente pelo blog, além disso acredito que vá para o email dele e não diretamente para o blog

Anônimo disse...

Existe uma maneira mais fácil que essa, pelo menos no meu blog não tive esse trabalho de mexer com HTML :)

Fabiano Roberto disse...

Anônimo, no final da postagem tem um link para formulario de contato prontos, é mais fácil usar um deles no blog

Anônimo disse...

Realmente existe vários, mas para mim o melhor de usar é o Wufoo.
Além de ser prático não toma muito o tempo do Blogueiro.

Anônimo disse...

Fabiano, você poderia me explicar como personalizar a pagina de comentários?

Igual a sua, ou parecida.

Webvision disse...

não está funcionando, estou utilizando o servidor awardspace.com e hospedei o site www.linkla.co.cc, da-me ai uma referencia

Fabiano Roberto disse...

Webvision
uso esse formulario em nossa pagina de contato, veja no link em nosso menu no inicio do blog, talvez onde hospedou o site não tenha suporte para isso.

Webvision disse...

ta certo vou tentar hospedar no 000webhost.com

Mari disse...

Boa tarde

Esse formuario esta perfeito para colocar em meu website...
só que esta havendo um erro e nao sei como corrigir...
Nos arquivos falar.html , esta dando erro line 11 ::
Parse error: syntax error, unexpected '"' in /home/sedaflor/public_html/falar.php on line 11

alguem poderia me ajudar por gentileza

Grata

Fabiano Roberto disse...

Mari, tente ver o link para o formulario original na pagina do uolhost

Juliana disse...

olá! sou uma amadora completa com html, criei um site pelo frontpage, e consegui publica-lo, mas o site de hospedágem nãoa ceita o formulário de frontpage, então segui todos os passos que tu colocou, mas quando eu tento preenchar no meu site e clico em enviar dá a seguinte mensagem:
Warning: Cannot modify header information - headers already sent by (output started at C:\Inetpub\vhosts\arketing.com.br\httpdocs\falar.php:8) in C:\Inetpub\vhosts\arketing.com.br\httpdocs\falar.php on line 26

Não entendi...
Obrigada...
Juliana

Fabiano Roberto disse...

Juliana, quando o assunto é PHP eu sei muito pouco, sugiro que procure sites especializados no assunto.

quando fiz e testei esse formulario funcionou normalmente, alias ainda uso como contato para esse blog

Manthonioz disse...

Realmente as vezes da vontade de deletar tudo,mas ainda bem que existem lugares como esse para nos ajudar.Obrigado.

psp game wold disse...

era isso que eu estava procurando para colocar no meu blog ja fiz o teste no meu blog de teste e deu certinho valeu

Anônimo disse...

opa....eu queria saber o seguinte:

eu fiz isso...mas tem um problema, não quero que redirecione para http://www.acessoriosparablogs.com.br/sucessomail.html e o error....nem pra outra q eu irei hospedar, eu qria q redirecionace pra mesma pasta...p/ eu fazer isso eu tentei retirar o

"http://www.acessoriosparablogs.com.br/"

e somente deixar o resto...é que o q qro fazer é hospedar em um servidor com suporte a PHP e colocar como frame no meu blog...o q eu faço?

Fabiano Roberto disse...

adaptamos esse código a partir de um publicado na pagina de ajuda do uolhost(veja o link no final de nossa postagem), lá tem como fazer só aparecer uma mensagem, ou então pode colocar a url da pagina que gostaria que redirecionasse.

Anônimo disse...

e ai...eu entendi, só falta uma coisa, nesse trecho:

$remetente = "email@seudominio"; // INSIRA AQUI UM EMAIL CRIADO EM SUA HOSPEDAGEM PARA QUE A MENSAGEM SEJA ENVIADA CORRETAMENTE.


Como Assim o e-mail criado em sua hospedagem???ja tem o do destinatário... e outra coisa:

eu posso apagar esses trechos tipo esse:

"INSIRA AQUI UM EMAIL CRIADO EM SUA HOSPEDAGEM PARA QUE A MENSAGEM SEJA ENVIADA CORRETAMENTE." ou eh para mudar para algo, devo tirar a // ??

Fabiano Roberto disse...

neste trecho só precisa colocar o seu endereço de email.

o código que vem depois das duas barras // é só um comentário de quem escreveu o código, esse trecho não influencia em nada.

João Vítor disse...

O código acima NÃO pega no editor do blogger! não gostei!!!!!!!

Fabiano Roberto disse...

esse código é feito para sites, precisa de hospedagem de PHP, realmente não é para o blogger, pelo menos não diretamente nele

ricardo maia disse...

nao funcionou aqui!
aparec isso
"); if ($enviou){ header('location:http://www.acessoriosparablogs.com.br/erromail.html'); } else { header('location:http://www.acessoriosparablogs.com.br/erromail.html'); } ?>
pode me dizer o que tem de errado?

Fabiano Roberto disse...

talvez foi um erro ao copiar e colar o código

vinicius disse...

Olá Srs. No meu esta dando este erro:

Parse error: syntax error, unexpected ',' in /home/freehost/t35.com/v/i/viver/falar.php on line 16

Na realidade não sei como arrumar vcs podem me ajduar?

Fabiano Roberto disse...

não sei como corrigir esse erro do seu site, procure sites sobre php certamente eles podem falar melhor do assunto.

Anônimo disse...

MUITO OBRIGADO!!!! FUNCIONOU
DEU CERTO GALERA...PODEM CONFIAR...VALEU!!!

geme super x disse...

não consigo fazer como faz me manda uma mensagem por favor como fazer

Fabiano Roberto disse...

esse tutorial não funciona diretamente no blogger, você precisa hospedar um site para fazer um formulario php

†คℓℓⓨﯼ disse...

Oi amigo,
Chequei todo o código e ñao há diferenças do da postagem.

criei os dois arquivos (O HTML, e o PHP para a execução).

Porem quendo clico em enviar retorna para min uma pagina em branco escrito o final do PHP:("); if ($enviou){ header('location:http://www.acessoriosparablogs.com.br/sucessomail.html'); } else { header('location:http://www.acessoriosparablogs.com.br/erromail.html'); })

Ajuds, plix XD

Flow

Fabiano Roberto disse...

lamento mas não posso ajudar nisso, meus conhecimentos de PHP são poucos e não sei resolver erros neste tipo de código....

tente pesquisar por sites com tutoriais sobre php, certamente encontrará muitos

davidbranco disse...

Quanto clico em enviar abre uma página com o erro:
Warning: Cannot modify header information - headers already sent by (output started at /home1/doffhost/public_html/david/falar.php:9) in /home1/doffhost/public_html/david/falar.php on line 30

Eu mudei as linhas do código para ficar assim:
"From: $email <$nome>");
if ($enviou){
header('location:confirm.html');
}
else {
header('location:notConfirm.html');
}

Porque será que dá esse erro?

Fabiano Roberto disse...

meus conhecimentos de php são bem limitados... tente procurar algum site especializado no assunto..

mas concordo com você parece certo, mas tente colocar o endereço completo da pagina por exemplo:
http://seusite.com.br/confirm.html

Anônimo disse...

Excelente dica!
Valeu!

Salvo Sim! disse...

Eu queria fazer uma coisa no meu blog, criar um widget, como o minilua fez, observe o exemplo: http://static.minilua.com/live/banners/top728.html ele criou esta página e fez um widget, e os outros blogs colocam este widget no blog dele, por aqui: http://minilua.com/live/banners/#ref=http://blogattao.blogspot.com/
eu queria saber, se pra fazer isso eu presciso colocar meu blog em PHP. ouvi falar que tem que fazer isso, vc sabe se tem ou não? vc sabe fazer um widget como o do minilua? flw, obrigado

Fabiano Roberto disse...

esse tipo de gadget é bem complicado de criar ... e precisa saber sobre programação... não tem como fazer diretamente no blogger

blogger do orkut disse...

N sei se e verdadeiro

Charles Mateus disse...

Finalmente um q funciona,
cara passei horas porcurando 1 q prestase,
seu codigo e bem limpo e facil de entender. parabens mesmo.
agora, se vc souber como eu posso colocar um anexo nesse contato e poder me dar um toque, me mande por email charlesmanzoli@gmail.com
abraçãoe sucesso

Anônimo disse...

Gostei do POST, Parabéns!

Wellingtons.com.br disse...

Dureza, não consigo fazer os botoes funcionarem... não dá nenhum erro mas também não envia...

Fabiano Roberto disse...

infelizmente depois de algumas atualizações de navegadores e sistemas alguns códigos param de funcionar

Lucca disse...

Estou com um problema, o script estava funcionando perfeitamente no Gmail mas quando eu troco o email e coloco hotmail ele não envia !

Fabiano Roberto disse...

infelizmente não entendo de PHP para corrigir esses erros, mas achei que iria funcionar com qualquer email

tente procurar algum site especializado em PHP ou usar um formulario de contato pronto

mauricio rodrigues disse...

UMAS DAS DICAS MAIS BOAS DESSE BLOG !

Postar um comentário