Erro no código em PHP para enviar dados co contato

18/11/2017

0

PHP

Boa tarde,
estou com problemas no envio de dados do formulário de contato para meu email, o email é enviado mas sem nenhum dado abaixo seguem os códigos:

HTML
<form id="main-contact-form" name="contact-form" method="post" action="enviar_mensagem.php">
                                <div class="form-group">
                                    <input type="text" name="name" class="form-control" placeholder="Nome" required>
                                </div>
                                <div class="form-group">
                                    <input type="email" name="email" class="form-control" placeholder="E-mail" required>
                                </div>
                                <div class="form-group">
                                    <input type="text" name="subject" class="form-control" placeholder="Assunto" required>
                                </div>
                                <div class="form-group">
                                    <textarea name="message" class="form-control" rows="8" placeholder="Mensagem" required></textarea>
                                </div>
                                <button type="submit" class="btn btn-primary">Envie sua Mensagem</button>
                            </form>


enviar_mensagem.php
<?php

// Passando os dados obtidos pelo formulário para as variáveis abaixo
$name     = $_POST['name'];
$email    = trim($_POST['email']);
$emaildestinatario = 'vinicius@meusite.com.br'; // Digite seu e-mail aqui, lembrando que o e-mail deve estar em seu servidor web
$subject          = $_POST['subject'];
$message          = $_POST['message'];
 
 
/* Montando a mensagem a ser enviada no corpo do e-mail. */
$mensagemHTML = '<P>FORMULARIO PREENCHIDO NO SITE WWW.meusite.COM.BR</P>
<p><b>Nome:</b> '.$name.'
<p><b>E-Mail:</b> '.$email.'
<p><b>Assunto:</b> '.$subject.'
<p><b>Mensagem:</b> '.$message.'</p>
<hr>';


// O remetente deve ser um e-mail do seu domínio conforme determina a RFC 822.
// O return-path deve ser ser o mesmo e-mail do remetente.
$headers = "MIME-Version: 1.1\\r\\n";
$headers .= "Content-type: text/html; charset=utf-8\\r\\n";
$headers .= "From: $email\\r\\n"; // remetente
$headers .= "Return-Path: $emaildestinatario \\r\\n"; // return-path
$envio = mail($emaildestinatario, $subject, $mensagemHTML, $headers); 
 
 if($envio)
echo "<script>location.href='http://www.meusite.com.br'</script>"; // Página que será redirecionada

?>
Marcos Oliveira

Marcos Oliveira

Responder

Posts

23/11/2017

Pablo Carvalho

Olá Marcos, tudo bem?

Pelo que consegui entender da sua dúvida, seu e-mail foi enviado, porém sem seus dados que foram passados pelo Formulário!
Quando for assim, sugiro que antes de executar a ação que você deseja, no seu caso enviar o e-mail, verifique sempre se seus dados estão chegando do outro lado! Você pode por exemplo verificar todos os dados enviados pelo formulário através da linha de código:

var_dump($_POST);


Essa linha de código acima vai te mostrar todos os dados enviados e de qual tipo eles são! Assim você consegue saber se o seu erro esta do lado do formulário ou do lado backend.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar