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
<formmethod="post"action=""id="formulario"class="contact-form"><fieldset><divclass="form-group"><divclass="col"><inputtype="text"id="nome"name="nome"class="form-control"placeholder="Nome"></div><divclass="col"><inputtype="text"id="telefone"name="telefone"class="form-control"placeholder="Telefone"></div><divclass="col"><inputtype="text"id="celular"name="celular"class="form-control"placeholder="Celular/WhatsApp"></div><divclass="col"><inputtype="email"id="email"name="email"class="form-control"placeholder="E-mail"></div><divclass="col"><inputtype="text"id="endereco"name="endereco"class="form-control"placeholder="Endereço do Serviço"></div><divclass="col"><inputtype="text"id="assunto"name="assunto"class="form-control"placeholder="Assunto"></div><divclass="col"><textareaid="mensagem"name="mensagem"class="form-control"placeholder="Serviços que deseja realizar"></textarea><inputtype="submit"class="btn btn-primary"id="formulario"><iclass="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>');}});returnfalse;});});</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 camposif(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árioif($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()functionEnviaEmail($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;}?>
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
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?
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
Este é o Script ajax
Este é o arquivo enviar_email.php
Peguei o exemplo neste site aqui....
Desde já fico no aguardo
Compartilhar este post
Link para o post
Compartilhar em outros sites