Ir para conteúdo
Fórum Script Brasil
  • 0

Erro no formulario de contato


Lucas_RS

Pergunta

Pessoal to com um sistema de imoveis aqui e to tento um problema com o formulario de contato, quando o cliente preenche o formulario e clica em enviar eu não recebo o e-mail dele, meu código ta assim:

contato.php

//get the agent info

$q1 = "select * from re2_agents where AgentID = '$_GET[AgentID]' ";

$r1 = mysql_query($q1) or die(mysql_error());

$a1 = mysql_fetch_array($r1);

if(isset($_POST[s1]))

{

$to = $a1;

$subject = $_POST[subject];

$message = $_POST[message];

$message .= "\n\nAnúncio:\n$site_url/anuncio.php?id=$_GET[ListingID]\n\n";

$headers = "MIME-Version: 1.0\n";

$headers .= "Content-type: text/plain; charset=iso-8859-1\n";

$headers .= "Content-Transfer-Encoding: 8bit\n";

$headers .= "From: $_POST[u_name] <$_POST[u_email]>\n";

$headers .= "X-Priority: 1\n";

$headers .= "X-MSMail-Priority: High\n";

$headers .= "X-Mailer: PHP/" . phpversion()."\n";

mail($to, $subject, $message, $headers);

$thankyou = "<center><b><br><br><br>Obrigado por entrar em contato, aguarde uma resposta em breve!<br><br><a class=RedLink href=\"$site_url/anuncio.php?id=$_GET[ListingID]\">Voltar</a></center>";

//get the templates

require_once("templates/HeaderTemplate.php");

require_once("templates/EmailThankyouTemplate.php");

require_once("templates/FooterTemplate.php");

}

$AgentName = "$a1[FirstName] $a1[LastName]";

if(!empty($_GET[ListingID]))

{

$SubjectLine = "Imóvel ID $_GET[ListingID]";

}

//get the templates

require_once("templates/HeaderTemplate.php");

require_once("templates/EmailTemplate.php");

require_once("templates/FooterTemplate.php");

?>

O código no emailtemplate está assim:

<script>

function CheckMail() {

if(document.je.u_name.value=="")

{

alert('Digite seu nome, por favor.');

document.je.u_name.focus();

return false;

}

if(document.je.u_email.value=="")

{

alert('Digite seu e-mail, por favor.');

document.je.u_email.focus();

return false;

}

if(document.je.subject.value=="")

{

alert('Enter the subject, please!');

document.je.subject.focus();

return false;

}

if(document.je.message.value=="")

{

alert('Digite uma mensagem, por favor.');

document.je.message.focus();

return false;

}

}

</script>

<br><br>

<form method=post onsubmit="return CheckMail();" name=je>

<table width=340 align=center border=0>

<caption align=center>

<span style="font-size:11; font-family:verdana; color:black; font-weight:bold"><img src="images/correio.gif" width="22" height="19"> Use este formul&aacute;rio para entrar em contato

<?=$AgentName?></span>

</caption>

<tr>

<td>Nome:</td>

<td><input type=text name="u_name" size=42 class="mtext"></td>

</tr>

<tr>

<td>E-mail:</td>

<td><input type=text name=u_email size=42 class="mtext"></td>

</tr>

<tr>

<td>Assunto:</td>

<td><input type=text name=subject size=42 class="mtext" value="<?=$SubjectLine?>"></td>

</tr>

<tr>

<td valign=top>Mensagem:</td>

<td><textarea rows=6 cols=41 name=message class="mtext"><?=$_POST[message]?></textarea></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>

<input type=submit name=s1 value="Enviar" class="sub1">

</td>

</tr>

</table>

</form>

Não acho o erro pois da a mensagem de mensagem enviada só que eu não recebo o e-mail alguém poderia me ajudar com isso?? Obrigado.

Lucas

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá...

alguns fatores devem ser levados em consideração, como por ex: seu servidor. Alguns servidores só aceitam e-mails autenticados, usando o PHPMailer, aconselho a você entrar em contato com seu servidor para ver se esse é o seu caso. Pode ser tb caixa cheia. Outro ponto que muitas pessoas não levam em consideração é usar dessa forma:

$q1 = "select * from re2_agents where AgentID = '".$_GET["AgentID"]."' ";

Outro ponto é ver se o seu register_globals está off, pois se a variável $_GET["AgentID"] estiver vindo da url, pode não recuperar... nesse caso, use $_REQUEST["AgentID"].

Tente depurar seu código, colocando "echos" ou vendo se querys estão resgatando os valores corretamente. Qualquer coisa, use o comando "basicão", levando em conta que é um formulário do fale conosco com os campos "Nome" e "Mensagem" algo como:

$nomeCliente = trim($_POST["NomeCliente"]);
$mensagemCliente = trim($_POST["MensagemCliente"]);

if(empty($nomeCliente)):
 $erro[1]  = "Favor colocar seu nome";
elseif(strlen($nomeCliente) < 5):
 $erro[1]  = "Seu nome não pode ser inferior a 5 caracteres";
elseif(empty($mensagemCliente)):
 $erro[2]  = "Favor colocar sua mensagem";
elseif(strlen($mensagemCliente) < 5):
 $erro[2]  = "Seu mensagem não pode ser inferior a 5 caracteres";
else:

        $envia = "seuemail@seuservidor.com.br";
        $titulo = "Fale Conosco";
    
        $msg = "MIME-Version: 1.0\r\n";
        $msg .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $msg .= "From: Fale Conosco<seuemail@seuservidor.com.br>\r\n";
                     
                                 $mens = "<html><head><title>Fale Conosco</title></head><body>";
        $mens .= "<div align='justify'>".$_POST["MensagemEnviada"]."</div>";
        $mens .= "</body></html>";

        if(mail($envia, $titulo, $mens, $msg) == TRUE):    
                       echo "<script>alert('Sua mensagem foi enviada com sucesso. Obrigado por entrar em contato';window.location.href='fale.php';</script>";
        else:
        echo "<script>alert('Houve um erro na hora do envio. Caso o erro persista, favor entrar em contato com suporte@seuservidor.com.br.');                         window.location.href='fale.php';</script>";                
        endif;
     endif;

Editado por MTavares
Link para o comentário
Compartilhar em outros sites

  • 0

tente colocar no seu header

$headers = "From: $_POST[u_name] <$_POST[u_email]>\n";

$headers .= "Content-type: text/plain; charset=iso-8859-1\n\r";

e tenha certeza de ter conteudo na variavel $to

Editado por jissa
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...