Forum Pplware
[Dúvida] - Codigo php em formulario de contacto - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: [Dúvida] - Codigo php em formulario de contacto (/showthread.php?tid=7634)



[Dúvida] - Codigo php em formulario de contacto - jfelizardo - 31-10-2010 14:21

Boas

Já algum tempo que estou a tentar resolver um problema que não consigo.



Estou a tentar criar um formulario de contacto com validação, em que depois quer o administrador do site como quem envio o comentário iria receber um mail.

No mail do administrador e no mail de quem vez o comentario estou a receber em duplicado os mails. E no site do usuario que comenta não consta uma informação que queria que contivesse ``voltaremos a contactalo``.

em baixo irei colocar o codigo

mail.php

Código PHP:
<?php

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

include(
"teste.html");

//Testa campos obrigatórios
if ($nome!="" && $mensagem!="" && $email!="")
{

$msg "De: ".$nome." (".$email.")\n\nMensagem: ".$mensagem;
if (@
mail($mail_destino$assunto$msg$mail_header)) 
        
        {
                
//Imprimindo confirmação de envio
                
echo "<html><meta http-equiv=refresh content=5;URL=call.html; > Exmo(a) Sr.(a) " $nome ", a sua mensagem visando o assunto \"".
$assunto ."\" foi enviada com sucesso!<br>Obrigado!<br><br></html>";
                
//Enviando mensagem de confirmação para o email do internauta
                
@mail($email"Re: ".$assunto$msg_repy$mail_header);
        }
        else
                echo 
"<meta http-equiv=refresh content=5;URL=formcall.html><center><br><br><font color=red><b>Erro ao enviar
e-mail!</b></font></center></html>"
;
}
else
        
//Alerta sobre os campos obrigatórios
        
echo "<html><meta http-equiv=refresh content=5;URL=formcall.html><br><br><center>
"
.$msg_erro."<br><br><a>Preencha correctamente os campos.</a></center></html>";

?>

ficheiro email-form.php


Código PHP:
<form name="form1" method="post" action="email.php"
<table width="448" border="0" cellspacing="0" cellpadding="0" align="center">
<
tr bgcolor="">
<
td valign="top" width="100" nowrap><font class="texto">Nome:</font></td>
<
td>
<
input class="form_campos" type="text" name="nome" size="29"> </td>
</
tr>
<
tr bgcolor="">
<
td valign="top" width="100" nowrap><font class="texto">E-mail:</font></td>
<
td>
<
input class="form_campos" type="text" name="email" size="29"> </td>
</
tr>
<
tr bgcolor="">
<
td valign="top" width="100" nowrap><font class="texto">Assunto:</font></td>
<
td>
<
select name="assunto" class="form_campos">
<
option class="form_campos" value="Opinião" selected>Opinião</option>
<
option class="form_campos" value="Sugestão">Sugestão</option>
<
option class="form_campos" value="Sem assunto">Outros</option>

</
select> </td>
</
tr>
<
tr bgcolor="">
<
td valign="top" width="100" nowrap><font class="texto">Mensagem:</font></td>
<
td>
<
textarea class="form_campos" name="mensagem" cols="29" rows="4"></textarea> </td>
</
tr>
<
tr bgcolorbgcolor="">
<
td colspan="2" valign="middle">
<
br>
<
div align="center">
<
input class="form_botao" type="submit" name="Enviar" value="Enviar Mensagem">
<
input class="form_botao" type="reset" name="Limpar" value="Limpar">
</
div> </td>
</
tr>
</
table>
</
form



ficheiro config.php
Código PHP:
<?php
/*
* Configurações do formulário de Contato
* Altere a variavel $mail_destino para o seu email
*
*/

$cor_site "orange";


//Seu email, para onde irao as informações do formulário
$mail_destino "xxxxxxo@sapo.pt";

//Mensagem de cabeçalho do email
$mail_header "Mensagem enviada de cbo.pt.";


//Mensagem para o email de resposta
$msg_reply $nome .", recebemos o seu email com o assunto <b>$assunto</b>. Obrigado por nos contactar";

//Mensagem de Erro
$msg_erro "Os campos <font color=" $cor_site "><b>Nome, Mensagem e E-mail</b></font> não podem estar em branco.";

?>
[/code]


RE: [Dúvida] - Codigo php em formulario de contacto - Bruno Bernardino - 31-10-2010 16:00

Bem, existem aqui muitas coisas estranhas, mas acho que só vale a pena falar do que funciona ou não funciona.

1. Dizes que o ficheiro se chama mail.php, mas no formulário chamas email.php, enganaste-te ou não colocaste o conteúdo do email.php?

2. O html do email-form.php não tem a tag <form> inicial fechada, apagaste alguma coisa a mais?

3. O ficheiro mail.php não inclui o config.php, pelo que as variáveis do $mail_header e $mail_destino não têm nada?!

4. O que tem o ficheiro teste.html? Incluis esse ficheiro e depois adicionas tags <html> e <meta> fora do <head>


RE: [Dúvida] - Codigo php em formulario de contacto - jfelizardo - 31-10-2010 18:29

(31-10-2010 16:00)Bruno Bernardino Escreveu:  1. Dizes que o ficheiro se chama mail.php, mas no formulário chamas email.php, enganaste-te ou não colocaste o conteúdo do email.php?


Aqui enganei-me ao escrever.

(31-10-2010 16:00)Bruno Bernardino Escreveu:  2. O html do email-form.php não tem a tag <form> inicial fechada, apagaste alguma coisa a mais?


Aqui ao fazer copy past nao inclui </form>

(31-10-2010 16:00)Bruno Bernardino Escreveu:  3. O ficheiro mail.php não inclui o config.php, pelo que as variáveis do $mail_header e $mail_destino não têm nada?!

como o posso incluir?



(31-10-2010 16:00)Bruno Bernardino Escreveu:  4. O que tem o ficheiro teste.html? Incluis esse ficheiro e depois adicionas tags <html> e <meta> fora do <head>

este ficheiro foi a forma como consigo que a informação depois de enviado a informação apareça uma mensagem de confirmação num layout identico a todo o site.

Desculpa as minhas perguntas estupidas, mas estou a tentar mexer nisto.
Obrigado


RE: [Dúvida] - Codigo php em formulario de contacto - jfelizardo - 01-11-2010 20:01

Alguem que me ajude please


RE: [Dúvida] - Codigo php em formulario de contacto - Bruno Bernardino - 01-11-2010 22:53

1. Ok.

2. Estava a falar da tag inicial, fazes algo como <form bla blabal e não fechas, com >

3. Como incluis o teste.html

4. Ok, mas podes colocar HTML no PHP, com ?> HTML <?php PHP, de qualquer das formas, não estás a fazer nada mal.


RE: [Dúvida] - Codigo php em formulario de contacto - jfelizardo - 01-11-2010 23:53

(01-11-2010 22:53)Bruno Bernardino Escreveu:  1. Ok.

2. Estava a falar da tag inicial, fazes algo como <form bla blabal e não fechas, com >

3. Como incluis o teste.html

4. Ok, mas podes colocar HTML no PHP, com ?> HTML <?php PHP, de qualquer das formas, não estás a fazer nada mal.

Vou testar, mais para o fim da semana, por motivos profissionais agora nao posso testar. mas assim que tiver noticias digo.

Muito obrigado