Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Jack Oliveira

Problemas ao Enviar Formulário para E-mail e Php Ajax

Pergunta

Olá boa noite pessoal estou tendo problema ao para enviar formulário via e-mail e php

 

a página não é carregado e nem e enviada.

 

este é meu código html

 

						<form  method="post" action="" id="formulario" class="contact-form">
							<fieldset>
								<div class="form-group">
									<div class="col">
										<input  type="text" id="nome" name="nome" class="form-control" placeholder="Nome">
									</div>
									<div class="col">
										<input type="text" id="telefone" name="telefone" class="form-control" placeholder="Telefone">
									</div>	
									<div class="col">
										<input type="text" id="celular" name="celular" class="form-control" placeholder="Celular/WhatsApp">
									</div>									
									<div class="col">
										<input type="email" id="email" name="email" class="form-control" placeholder="E-mail">
									</div>
									<div class="col">
										<input type="text" id="endereco" name="endereco" class="form-control" placeholder="Endereço do Serviço">
									</div>
									<div class="col">
										<input type="text" id="assunto" name="assunto" class="form-control" placeholder="Assunto">
							        </div>
									<div class="col">
								<textarea  id="mensagem" name="mensagem"  class="form-control" placeholder="Serviços que deseja realizar"></textarea>
								
								<input type="submit" class="btn btn-primary" id="formulario"><i class="fa fa-chevron-circle-right"></i> Enviar</input>
									</div>							
									</div>										
								</div>
							</fieldset>
						</form>

Este é o Script ajax

    <script>
        $(document).ready(function () {
 
            $('#formulario').submit(function() {
                var dados = $('#formulario').serialize();
 
                $.ajax({
                    type : 'POST',
                    url  : 'email/envia_email.php',
                    data : dados,
                    dataType: 'json',
                    success :  function(response){
                        $('#mensagem').css('display', 'block')
                            .removeClass()
                            .addClass(response.tipo)
                            .html('')
                            .html('<p>' + response.mensagem + '</p>');
                    }
                });
 
                return false;
            });
        });
    </script>

Este é o arquivo enviar_email.php

 

<?php
require_once('../include/db.php');

$QueryPagina = DBRead('paginas_conteudo','*',"WHERE id='16'"); if (is_array($QueryPagina)) { foreach ($QueryPagina as $paginas1) { }}

header('Content-type: text/html; charset=utf-8');
 
// Conta de Email no servidor de hospedagem
define('SERVIDOR', ''.$paginas1['titulo5'].'');
 
// Para onde será enviado o contato
define('DESTINO', ''.$paginas1['titulo5'].'');
 
// Identifica o site que foi enviada a mensagem
define('SITE', ''.ConfigPainel('site_nome').'');

		if (isset($_POST)){
	        // Valida se foram preenchidos todos os campos
    if (empty($nome) || empty($telefone) || empty($celular) || empty($endereco) || empty($email) || empty($assunto) || empty($msg)){
        $array  = array('tipo' => 'alert alert-danger', 'mensagem' => 'Preencher todo os campos obrigatórios(*)!');
        echo json_encode($array);
    }else{    	
			$Adicionar = array(
		'nome' 			    => post('nome'),
		'telefone' 			=> post('telefone'),
		'celular' 			=> post('celular'),
		'endereco' 			=> post('endereco'),
		'email' 			=> post('email'),
		'assunto' 			=> post('assunto'),
		'mensagem' 			=> post('mensagem')
			);
			$Query = DBCreate('contato', $Adicionar);
		}
		}

 
        if (empty($assunto)):
            $assunto = "Contato enviado pelo site " . SITE;
        endif;
 
        // Monta a mensagem do email
        $mensagem = "Contato enviado pelo site ".SITE."\n";
        $mensagem .= "**********************************************************\n";
        $mensagem .= "Nome: ".$nome."\n";
		$mensagem .= "Telefone: ".$telefone."\n";
		$mensagem .= "Celular ou WhatsAPP: ".$celular."\n";
        $mensagem .= "E-mail do Contato: ".$email."\n";
        $mensagem .= "**********************************************************\n";
        $mensagem .= "Assunto: ".$assunto."\n";
		$mensagem .= "Data: ".$data."\n";
        $mensagem .= "**********************************************************\n";		
        $mensagem .= "Mensagem: \n".$msg."\n";
 
        // Envia o e-mail e captura o retorno
        $retorno = EnviaEmail(DESTINO, $assunto, $mensagem);
 
        // Conforme o retorno da função exibe a mensagem para o usuário
        if ($retorno):
            $array  = array('tipo' => 'alert alert-success', 'mensagem' => 'Sua mensagem foi enviada com sucesso!');
            echo json_encode($array);
        else:
            $array  = array('tipo' => 'alert alert-danger', 'mensagem' => 'Infelizmente houve um erro ao enviar sua mensagem!');
            echo json_encode($array);
        endif;
 
    endif;
endif;
 
// Função para envio de e-mail usando a função nativa do PHP mail()
function EnviaEmail($para, $assunto, $mensagem){
 
    $headers = "From: ".SERVIDOR."\n";
    $headers .= "Reply-To: $para\n";
    $headers .= "Subject: $assunto\n";
    $headers .= "Return-Path: ".SERVIDOR."\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "X-Priority: 3\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\n";
 
    $retorno = mail($para, $assunto, nl2br($mensagem), $headers);
    return $retorno;
}

?>

Peguei o exemplo neste site aqui....

 

Desde já fico no aguardo 

Compartilhar este post


Link para o post
Compartilhar em outros sites

0 respostas a esta questão

Recommended Posts

Até agora não há respostas para essa pergunta


  • Conteúdo Similar

    • Por Toni Santos
      Saudações Kneon Nights!
       
      Gostaria de fazer minha contribuição pela boa vontade de todos que se disponibilizam, sem nenhum custo, a transmitir conhecimentos essenciais seja para a evolução ou ganha-pão de muitos que dependem deste universo de informações.
       
      Bom, o sisteminha na realidade surgiu quando ao futucar um script de validação encontrado na rede terminei, na cagada, criando outro melhor ainda. E agora ele está aqui para quem quiser utilizar.
       
      COMO FUNCIONA?
      1. A pessoa aperta o botão enviar sem preencher nada (gaiaata!). Só que aqui não mérmão aqui não entra nada, o sistema barra logo trote por:
      a) não enviar a mensagem (âââ, lógico!), porém, fazendo o primeiro campo (no caso do form abaixo o campo nome) do formulário ficar vermelho e informando através de uma mensagem vermelha que este campo precisa ser preenchido;
       
      2. Ao clicar no campo nome, este, volta a cor normal como se nada tivesse acontecido;
       
      EU: - O mesmo ocorre com os demais campos: ao preencher o campo nome e enviarem a mensagem, o campo seguinte fica vermelho, surge a mensagem vermelha informando que tal campo precisa ser preenchido e assim sucessivamente.

      FDP: - Brother, qualquer validador faria isso me conte uma novidade, onde entra a parada da inteligência aí?
       
      EU: - Calma jhow, relaxe, entra agora!
       
      3. Se a pessoa tentar preencher apenas um campo por exemplo mensagem ou email, AUTOMATICAMENTE o cliques que ela der nesses campos serão direcionados para o campo nome. O mesmo acontecerá caso o campo nome seja preenchido certinho e ela clica no campo mensagem, automaticamente o clique dela neste campo será direcionado para o campo email e assim sucessivamente.
       
      CONSIDERAÇÕES:
      Esta funcionalidade obriga a pessoa a preencher campo por campo, prendendo-a ao primeiro campo, ao segundo e assim sucessivamente EVITANDO que todo o formulário seja enviado incompleto.
       
      O FORMULÁRIO (HTML)
      Pode ser qualquer outro, basta apenas configurá-lo ao script.
       
      <form class="form" id="form1" action="(AQUI O ARQUIVO PHP QUE ENVIA)" method="POST"> <p class="name"> <input name="name" type="text" class="" placeholder="" id="name" onClick="return apagar()"/> </p> <p class="email"> <input name="email" type="text" class="" placeholder="" id="email" onClick="return apagar()" /> </p> <p class="text"> <textarea name="text" class="" placeholder="" id="comment" onClick="return apagar()" ></textarea> </p> <div class="submit"> <div id="msg"></div> <input type="submit" value="Enviar Mensagem" class="submit" onclick="return validar()" onSubmit="LimarCampo()"/> </div> </form> O SCRIPT (JS) <script type="text/javascript"> function validar() { var name = form1.name.value; if (name == "") { var cont = "Informe seu nome"; document.getElementById("msg").innerHTML = cont; form1.name.style.backgroundColor="#FFDAB9"; form1.name.style.color="#363636"; msg.style.color="#ff0000"; form1.name.focus(); return false; } var email = form1.email.value; if (email == "") { var cont = "Informe seu e-mail"; document.getElementById("msg").innerHTML = cont; form1.email.style.backgroundColor="#FFDAB9"; form1.email.style.color="#363636"; msg.style.color="#ff0000"; form1.email.focus(); return false; } var text = form1.text.value; if (text == "") { var cont = "Digite sua mensagem"; document.getElementById("msg").innerHTML = cont; form1.text.style.backgroundColor="#FFDAB9"; form1.text.style.color="#363636"; msg.style.color="#ff0000"; form1.text.focus(); return false; } } function apagar() { var name = form1.name.value; if (name == "") { var cont = ""; document.getElementById("msg").innerHTML = cont; form1.name.style.backgroundColor="#fbfbfb"; form1.name.style.color="#363636"; form1.name.focus(); return false; } var email = form1.email.value; if (email == "") { var cont = ""; document.getElementById("msg").innerHTML = cont; form1.email.style.backgroundColor="#fbfbfb"; form1.email.style.color="#363636"; form1.email.focus(); return false; } var text = form1.text.value; if (text == "") { var cont = ""; document.getElementById("msg").innerHTML = cont; form1.text.style.backgroundColor="#fbfbfb"; form1.text.style.color="#363636"; form1.text.focus(); return false; } } </script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#form1').submit(function(){ var dados = jQuery( this ).serialize(); jQuery.ajax({ type: "POST", url: "../(AQUI O ARQUIVO PHP QUE ENVIA)", data: dados, success: function envio() { var cont = "Mensagem enviada com sucesso"; document.getElementById("msg").innerHTML = cont; msg.style.color="#55A13C"; } }); return false; }); }); </script> Coloquei as cores para facilitar a identificação no script e possíveis alterações para outras necessidades. Lembrando que as mensagens e as cores dos campos são modificadas no script acima, não no css. Veja o exemplo em minha página http://bamboo.16mb.com/nossos-contatos
    • Por GuiiJC
      A página recebe via get o tipo de configuração que deve mostrar ao usuário: Edição, exclusão ou visualização.
      Edição e exclusão é apenas para quem criou aquela noticia. Visualização é pra quem está envolvida com ela.
      Até ai tudo bem, Usei o switch para verificar o tipo de configuração que o form devia tomar.
      Quando fiz a ação dos botões (edição: atualizar e voltar; exclusão: sim e não; visualização: voltar) e fui testar vi que não estavam sendo executadas as ações referentes a aquela configuração ou nem uma outra. Na edição ele me gera um link: ?%23=teste+metodo&f=ANALISTAS+E+DESENVOLVEDORES&usuario-grupo%5B%5D=7&usuario-grupo%5B%5D=2&usuario-grupo%5B%5D=5&usuario-grupo%5B%5D=6&atualizar=Atualizar+Dados após o nome da página. Ná exclusão e visualização ele pega o nome do botão e coloca o valor dle. ex: sim=Sim ;

      revisei o código e não encontrei nada de errado (ao menos não pra mim), alguém tem uma ideia de por que isso tá acontecendo e como resolver?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.