xjeehx 0 Denunciar post Postado Dezembro 6, 2016 Bom dia, talvez seja simples mas eu não mexo com php então estou meio perdida Criei uma página HTML com um formulário, e depois usei uma página php para que os dados do dormulário fossem enviados para o meu e-mail Quando eu faço o teste, chega o e-mail com o assunto correto porem sem sem nenhum dado. Ex: nome: email: telefone1: telefone2: mensagem: Segue abaixo o PHP e o HTML PHP <?php header('Content-type: application/json'); $status = array( 'type'=>'success', 'message'=>'Agradecemos o seu contato, iremos retornar o mais breve possível.' ); $nome = $_POST['nome']; $email = $_POST['email']; $telefone1 =$_POST['telefone1']; $telefone2 = $_POST['telefone2']; $mensagem =$_POST['mensagem']; $subject = 'Página de Contato - Equilíbrio Benefícios'; $email_from = $email; $email_to = 'comunicacao@equilibriobeneficios.com.br'; $body = 'Nome: ' . $nome . "\n" . 'Email: ' . $email . "\n" . 'Telefone 1: ' . $telefone1 . "\n" . 'Telefone 2: ' . $telefone2 . "\n" . 'Mensagem: ' . $mensagem; $success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>'); echo json_encode($status); die;?> HTML <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="enviacontato.php"> <div class="col-sm-5 col-sm-offset-1"> <div class="form-group"> <label>Nome *</label> <input type="text" name="nome" class="form-control" required> </div> <div class="form-group"> <label>Email *</label> <input type="email" name="email" class="form-control" required> </div> <div class="form-group"> <label>Telefone 1*</label> <input type="tel" name="telefone1" class="form-control" required> </div> <div class="form-group"> <label>Telefone 2</label> <input type="tel" name="telefone2" class="form-control"> </div> </div> <div class="col-sm-5"> <div class="form-group"> <label>Mensagem</label> <textarea name="mensagem" id="message" class="form-control" rows="8"></textarea> </div> <div class="form-group"> <button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">Enviar</button> </div> </div> </form> Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 6, 2016 Aparentemente a parte do PHP está ok, você está enviando esse formulário com ajax ou o submit é feito apenas com HTML? Compartilhar este post Link para o post Compartilhar em outros sites
xjeehx 0 Denunciar post Postado Dezembro 6, 2016 Aparentemente a parte do PHP está ok, você está enviando esse formulário com ajax ou o submit é feito apenas com HTML? Estou usando só esses dois mesmo Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 6, 2016 Estou usando só esses dois mesmo Analisando o seu script fica claro que ele está usando um JS para disparar o post, é só ver que ele retorna um json como resposta... veja com o firebug (f12) o que está sendo enviando de fato. Compartilhar este post Link para o post Compartilhar em outros sites
xjeehx 0 Denunciar post Postado Dezembro 6, 2016 Analisando o seu script fica claro que ele está usando um JS para disparar o post, é só ver que ele retorna um json como resposta... veja com o firebug (f12) o que está sendo enviando de fato. Teria alguma dica para substituir o JS que ele está usando? Eu tentei linkar os JS na página HTML mas ainda assim não funcionou. Não entendi mt bem o esquema do firebug tbm. Teria alguma sugestão para alterar o código? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 6, 2016 Teria alguma dica para substituir o JS que ele está usando? Eu tentei linkar os JS na página HTML mas ainda assim não funcionou. Não entendi mt bem o esquema do firebug tbm. Teria alguma sugestão para alterar o código? Programação não funciona dessa forma, tem que analisar o que está ocorrendo no script para então achar a solução, não dá pra "adivinhar" o que deveria ocorrer, para então te mandar um um JS e tudo voltar a funcionar. Compartilhar este post Link para o post Compartilhar em outros sites
xjeehx 0 Denunciar post Postado Dezembro 6, 2016 Programação não funciona dessa forma, tem que analisar o que está ocorrendo no script para então achar a solução, não dá pra "adivinhar" o que deveria ocorrer, para então te mandar um um JS e tudo voltar a funcionar. Acho que era disso que você estava falando var form = $('#main-contact-form'); form.submit(function(event){ event.preventDefault(); var form_status = $('<div class="form_status"></div>'); $.ajax({ url: $(this).attr('action'), beforeSend: function(){ form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() ); } }).done(function(data){ form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut(); }); }); Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 6, 2016 var form = $('#main-contact-form'); form.submit(function(event){ event.preventDefault(); var form_status = $('<div class="form_status"></div>'); $.ajax({ type: "POST", url: $(this).attr('action'), data: $("#main-contact-form *").serialize(), beforeSend: function(){ form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() ); } }).done(function(data){ form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut(); }); }); Compartilhar este post Link para o post Compartilhar em outros sites
xjeehx 0 Denunciar post Postado Dezembro 6, 2016 var form = $('#main-contact-form'); form.submit(function(event){ event.preventDefault(); var form_status = $('<div class="form_status"></div>'); $.ajax({ type: "POST", url: $(this).attr('action'), data: $("#main-contact-form *").serialize(), beforeSend: function(){ form.prepend( form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() ); } }).done(function(data){ form_status.html('<p class="text-success">' + data.message + '</p>').delay(3000).fadeOut(); }); }); Fazendo isso eu não recebo mais o e-mail Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 6, 2016 Tem que debugar, ver se não ficou algum erro de sintaxe e etc... Compartilhar este post Link para o post Compartilhar em outros sites
xjeehx 0 Denunciar post Postado Dezembro 7, 2016 Tentei fazer outro formulário sem ajax, pois tentei de tudo e nada funcionava. O outro php que fiz continua com o mesmo problema de não enviar os dados para o email HTML <form class="contact-form" method="post" action="enviacontato.php"> <div class="col-sm-5 col-sm-offset-1"> <div class="form-group"> <label>Nome *</label> <input type="text" name="nome" class="form-control" required> </div> <div class="form-group"> <label>Email *</label> <input type="email" name="email" class="form-control" required> </div> <div class="form-group"> <label>Telefone 1*</label> <input type="tel" name='telefone1' class="form-control" required> </div> <div class="form-group"> <label>Telefone 2</label> <input type="tel" name="telefone2" class="form-control"> </div> </div> <div class="col-sm-5"> <div class="form-group"> <label>Mensagem</label> <textarea name="mensagem" id="message" class="form-control" rows="8"></textarea> </div> <div class="form-group"> <button type="submit" name="submit" class="btn btn-primary btn-lg" required="required" formmethod="post">Enviar</button> </div> </div> </form> PHP <?php $getparam = filter_input_array(INPUT_POST, FILTER_DEFAULT); $nome = $GetParam['nome']; $email = $GetParam['email']; $telefone1 = $GetParam['telefone1']; $telefone2 = $GetParam['telefone2']; $mensagem = $GetParam['mensagem']; $email_remetente = "comunicacao@equilibriobeneficios.com.br"; $email_destinatatio = "comunicacao@equilibriobeneficios.com.br"; $email_reply = "($email)"; $email_assunto = "Página Contato - Equilíbrio Benefícios"; $email_conteudo = "Nome: ($nome)"; $email_conteudo .= "Email: ($email)"; $email_conteudo .= "Telefone1: ($telefone1)"; $email_conteudo .= "Telefone2: ($telefone2)"; $email_conteudo .= "Mensagem: ($mensagem)"; $HeaderArraway = array("from: $email_remetente", "Reply-to: $email_reply", "Subject: $email_assunto", "Return-Path: $email_remetente", "MIME-Version = 1.0", "X-Priority: 3", "Content-Type: text/html; charset=UTF-8" ); $email_headers = implode("\n", $HeaderArraway); if (mail($email_destinatatio, $email_assunto, $email_conteudo, $email_headers)){ ?> <p>Sua mensagem foi enviada, entraremos em contato o mais breve possível.</p> <?php }else{ ?> <p>Desculpe, sua mensagem não foi enviada. Tente novamente..</p> <?php } Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 7, 2016 $getparam = filter_input_array(INPUT_POST, FILTER_DEFAULT); $nome = $GetParam['nome']; $getparam e $GetParam são duas coisas distintas... Compartilhar este post Link para o post Compartilhar em outros sites
xjeehx 0 Denunciar post Postado Dezembro 7, 2016 $getparam = filter_input_array(INPUT_POST, FILTER_DEFAULT); $nome = $GetParam['nome']; $getparam e $GetParam são duas coisas distintas... RESOLVEU, obrigada pela ajuda e desculpa a ignorância com php Compartilhar este post Link para o post Compartilhar em outros sites