[Ajuda] Como fazer um formulario de contacto?

Celso Azevedo

I folded Myself
Bem, é o seguinte:
Tenho um site e queria colocar lá um formulário de contacto. Não queria depender de sites externos para fazer isso. Se possivel não queria nada em javascript. Quero que as mensagens vão para a minha caixa de email.
Como posso fazer isso?

Obrigado
 
Última edição:
Como assim ?

Deves conseguir o que queres e mais alguma coisa com um formulário em html, a enviar os dados para um script php e a guardar os dados em mysql ou postgresql...

Explica melhor o que queres...
 
Crias uma form em html:

Código:
<form action="email.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>
Depois crias um ficheiro em php para ir buscar os dados a form e mandar para o teu mail:

Código:
<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];

$msg =  "<b>Nome:</b>    \t$nome<br>";
$msg .= "<b>E-mail:</b>    \t$email<br>";
$msg .= "<b>Mensagem:</b>    \t$mensagem";

$mensagem = "$msg";
$remetente = "$email";
$destinatario = "[email protected]";
$headers = "From: ".$remetente."\nContent-type: text/html";
if(!mail($destinatario,$mensagem,$headers)){
print "A mensagem não foi enviada";
} else {
echo "<script>alert "obrigado"</script>";
  }
?>
Abraço
 
a forma indicada é de envio de dados por mail..é isso que pretendes? não estás a ser nada especifico..
Desculpa, mas não me tinha explicado bem.
Quero um formulario de contacto para por no meu site e que essa mensagem vá para o meu mail.
Obrigado.

Já a gora, fiz como o C0C45 disse e aparece isto:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home2/softmobi/public_html/site/email.php on line 17
 
corrige esta linha:

echo "<script>alert "obrigado"</script>";

para

echo "<script>alert 'obrigado'</script>";
Agora não deu nenhum erro e a mensagem chega ao meu mail. Problema e que fica tudo no assunto:
<b>Nome:</b> celso<br><b>E-mail:</b> [email protected]<br><b>Mensagem:</b> Olá. Tudo bem?

O Campo "Mensagem" não devia de ficar fora do ''assunto''?

Edit:
Recebo a mensagem assim:
semttuloho9.png
 
Última edição:
Eu tou no work não consigo testar para ver se funciona, e não tou a perceber esse problema de aparecer tudo no assunto.

Abraço
 
Agora não deu nenhum erro e a mensagem chega ao meu mail. Problema e que fica tudo no assunto:
<b>Nome:</b> celso<br><b>E-mail:</b> [email protected]<br><b>Mensagem:</b> Olá. Tudo bem?

O Campo "Mensagem" não devia de ficar fora do ''assunto''?

muda

Código:
if(!mail($destinatario,$mensagem,$headers)){
para
Código:
if(!mail($destinatario,"Contacto via Web",$mensagem,$headers)){
 
Código:
<?php

$nome = $_POST['nome'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];

$msg = "<b>Nome:</b> \t$nome<br>";
$msg .= "<font face='verdana'><b>E-mail:</b> \t$email</font><br>";
$msg .= "<font face=’Verdana’><b>Mensagem:</b> \t$mensagem</font>";

$mensagem = "$msg";
$remetente = "$email";
$destinatario = "bla";
$assunto = "bla";
$headers = "From: ".$remetente."\nContent-type: text/html";
if(!mail($destinatario,$assunto,$mensagem,$headers)){
print "falha no envio da mensagem";
} else {
echo "Obrigado";
}
?>

Assim já bomba.

Abraço
 
UPS e C0C45,
Obrigado pela a ajuda. Agora está a funcionar, mas é possivel que depois a pagina "email.php" seja direccionada para uma pagina do site em vez de aparecer "obrigado"?
 
Então é assim:

Um HTML:

Código:
<form action="email.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>

Um um PHP com nome de email.php:

PHP:
<?php

$nome = $_POST['nome'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];

$msg = "<b>Nome:</b> \t$nome<br>";
$msg .= "<font face='verdana'><b>E-mail:</b> \t$email</font><br>";
$msg .= "<font face=’Verdana’><b>Mensagem:</b> \t$mensagem</font>";

$mensagem = "$msg";
$remetente = "$email";
$destinatario = "bla";
$assunto = "bla";
$headers = "From: ".$remetente."\nContent-type: text/html";
if(!mail($destinatario,$assunto,$mensagem,$headers)){
print "falha no envio da mensagem";
} else {
echo "Obrigado";
}
?>

Bomba assim? Onde se mete o mail para onde vai enviar?
 
Back
Topo