Ir ao conteúdo

Posts recomendados

Postado

Olá estou com um problema, um formulário teimoso que não quer enviar de forma alguma.

 

Estou apanhando a 3 dias... kkkk

 

Estou anexando os arquivos, que são parciais... em html, js e php

 

Preciso de um help!!!

 

Tks a lot!!

envia.php

Spoiler

<?php 

	/* ==========================  Define variables ========================== */

	#Your e-mail address
	define("__TO__", "[email protected]");

	#Message subject
	define("__SUBJECT__", "Proposta | meudominio");

	#Success message
	define('__SUCCESS_MESSAGE__', "Sua proposta foi enviada. Obrigado!");


	#Error message 
	define('__ERROR_MESSAGE__', "OPS! deu algum erro, sua proposta não foi enviado");

	#Messege when one or more fields are empty
	define('__MESSAGE_EMPTY_FILDS__', "Você precisa preenche os dados!");


	/* ========================  End Define variables ======================== */

	if(PHP_OS == "Linux") $quebra_linha = "\n";
	elseif(PHP_OS == "WINNT") $quebra_linha = "\r\n";
	else die("Este script não esta preparado para funcionar com o sistema operacional de seu servidor");

	//Send mail function
	function send_mail($to,$subject,$mens,$headers){
		if(@mail($to,$subject,$mens,$headers)){
			echo json_encode(array('info' => 'success', 'msg' => __SUCCESS_MESSAGE__));
		} else {
			echo json_encode(array('info' => 'error', 'msg' => __ERROR_MESSAGE__));
		}
	}


	//Get post data
	if(isset($_POST['nome']) and isset($_POST['telefone']) and isset($_POST['celular']) and isset($_POST['email']) and isset($_POST['empresa']) and isset($_POST['cnpj']) and isset($_POST['segmento']) and isset($_POST['endereco']) and isset($_POST['numero']) and isset($_POST['bairro']) and isset($_POST['cidade']) and isset($_POST['estado']) and isset($_POST['faturamento'])){
		$nome 			= $_POST['nome'];
		$telefone		= $_POST['telefone'];
		$celular 		= $_POST['celular'];
		$email 			= $_POST['email'];
		$empresa		= $_POST['empresa'];
		$cnpj 			= $_POST['cnpj'];
		$segmento       = $_POST['segmento']; 
		$endereco 	    = $_POST['endereco'];
		$numero       	= $_POST['numero'];
		$bairro         = $_POST['bairro'];
		$cidade         = $_POST['cidade'];
		$estado         = $_POST['estado'];
		$faturamento	= $_POST['faturamento'];
		$email_from    	= $_POST['email'];
		$email_to      	= "[email protected]";
		$respostaAssunto = "meudominio | Proposta recebida";

		

		//Send Mail
			$to = __TO__;
			$subject = __SUBJECT__ . ' ' . $nome;
			$mensagem = '
			<html>
			<head>
			  <title>E-mail envido por '. $nome .'</title>
			</head>
			<body>
			  <table class="table">
				<tr>
				  <th align="right">Nome:</th>
				  <td align="left">'. $nome .'</td>
				</tr>
				<tr>
				  <th align="right">Telefone:</th>
				  <td align="left">'. $telefone .'</td>
				</tr>
				<tr>
				  <th align="right">Celular:</th>
				  <td align="left">'. $celular .'</td>
				</tr>
				<tr>
				  <th align="right">E-mail:</th>
				  <td align="left">'. $email .'</td>
				</tr>
				<tr>
				  <th align="right">Empresa:</th>
				  <td align="left">'. $empresa .'</td>
				</tr>
				<tr>
				  <th align="right">CNPJ:</th>
				  <td align="left">'. $cnpj .'</td>
				</tr>
				<tr>
				  <th align="right">Segmento:</th>
				  <td align="left">'. $segmento .'</td>
				</tr>
				<tr>
				  <th align="right">Endereço:</th>
				  <td align="left">'. $endereco .'</td>
				</tr>
				<tr>
				  <th align="right">Número:</th>
				  <td align="left">'. $numero .'</td>
				</tr>
				<tr>
				  <th align="right">Bairro:</th>
				  <td align="left">'. $bairro .'</td>
				</tr>
				<tr>
				  <th align="right">Cidade:</th>
				  <td align="left">'. $cidade .'</td>
				</tr>
				<tr>
				  <th align="right">Estado:</th>
				  <td align="left">'. $estado .'</td>
				</tr>
				<tr>
				  <th align="right">Faturamento:</th>
				  <td align="left">'. $faturamento .'</td>
				</tr>
			  </table>
			</body>
			</html>
			';

			$resposta = "

		    Ola; $nome,

		    Esta e uma resposta automatica para confirmar que o envio de sua proposta foi recebida com sucesso e sera analisada em breve, retornaremos por e-mail ou por telefone (se for necessario conversar com voce para obter mais detalhes e agilizar o atendimento).
		    Caso prefira, entre em contato conosco atraves dos telefones (11) 1111-0992 WHATSAPP.
		    Agradecemos pelo seu credenciamento na QueroPago.
		    
		    Atenciosamente,
		    meudominio";

			$boundary = 'XYZ-' . date("dmYis") . '-ZYX';
			$mens = '--' . $boundary . $quebra_linha;
			$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;
			$mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha;
			$mens .= $corpo . $quebra_linha;
			$mens .= $mensagem . $quebra_linha;
			$mens .= '--' . $boundary . $quebra_linha;
			$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;
			$mens .= '--' . $boundary . '--' . $quebra_linha;
			 
			$headers = 'MIME-Version: 1.0' . $quebra_linha;
			$headers .= 'From: ' . $email_from . $quebra_linha;
			$headers .= 'Return-Path: ' . $email_from . $quebra_linha;
			$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;

			$header = 'MIME-Version: 1.0' . $quebra_linha;
			$header .= 'From: ' . $email_to . $quebra_linha;
			$header .= 'Return-Path: ' . $email_to . $quebra_linha;
			$header .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;


			send_mail($to,$subject,$mens,$headers);
			mail($email_from,$respostaAssunto,$resposta,$header);

		
	} else {
		echo json_encode(array('info' => 'error', 'msg' => __MESSAGE_EMPTY_FILDS__));
	}
 ?>

 

 

formulario.html

Spoiler

<form id="form" method="POST" class="form">
<fieldset>
 
<div class="form-group col-md-4 has-feedback">
<label class="control-label ">Nome/Contato</label>
<input name="nome" class="form-control" type="text">
</div>
 
<div class="form-group col-md-4 has-feedback">
<label class="control-label">Telefone Fixo</label>
<input name="telefone" class="form-control" type="tel">
</div>
 
<div class="form-group col-md-4 has-feedback">
<label class="control-label">Celular</label>
<input name="celular" class="form-control" type="tel">
</div>
 
<div class="form-group col-md-6 has-feedback">
<label class="control-label">E-mail</label>
<input name="email" class="form-control" type="email" id="email">
</div>
 
<div class="form-group col-md-6 has-feedback">
<label class="control-label ">Confirmação do e-mail</label>
<input name="confemail" class="form-control" type="text" id="confemail">
</div>
 
<div class="form-group col-md-8 has-feedback">
<label class="control-label">Nome da Empresa</label>
<input name="empresa" class="form-control" type="text">
</div>
 
<div class="form-group col-md-4 has-feedback">
<label class="control-label">CNPJ</label>
<input name="cnpj" class="form-control" type="text">
</div>
<div class="form-group col-md-12 has-feedback">
<label class="control-label">Segmento</label>
<select class="form-control" id="Segmento">
<option value="0"></option>
<option value="1">1 - Supermercados, Mercados e Bebidas</option>
<option value="2">2 - Postos de Combust&#237;veis</option>
<option value="3">3 - Hot&#233;is e Mot&#233;is</option>
<option value="4">4 - Loja de variedades, Vestu&#225;rios e Materiais de Constru&#231;&#227;o</option>
<option value="5">5 - Cultura e Entretenimento, Locadoras de DVD, Exposi&#231;&#245;es</option>
<option value="6">6 - Farm&#225;cias e Drogarias</option>
<option value="7">7 - J&#243;ias e Rel&#243;gios</option>
<option value="8">8 - Restaurantes, Padarias, Docerias, Fast-Food e Refei&#231;&#245;es em Geral</option>
<option value="9">9 - Lojas de Artigos Eletr&#244;nicos, Inform&#225;tica e Softwares</option>
<option value="10">10 - Cl&#237;nicas, Laborat&#243;rios e Servi&#231;os de Sa&#250;de, Odontologia e Veterin&#225;ria</option>
<option value="11">11 - Servi&#231;os Diversos, Varejistas, Escolas e Universidades</option>
<option value="12">12 - Operadoras de Turismo</option>
<option value="13">13 - Servi&#231;os Automotivos, Guinchos e Oficinas</option>
<option value="14">14 - Decora&#231;&#227;o</option>
<option value="15">15 - Estacionamentos</option>
<option value="16">16 - Sal&#245;es de Beleza, Barbearias e Lavanderias</option>
<option value="17">17 - N&#227;o Segmentado</option>
</select>
</div>
 
<div class="form-group col-md-6 has-feedback">
<label class="control-label">Endereço</label>
<input name="endereco" class="form-control" type="text">
</div>
 
<div class="form-group col-md-3 has-feedback">
<label class="control-label">Número</label>
<input name="numero" class="form-control" type="text">
</div>
 
<div class="form-group col-md-3 has-feedback">
<label class="control-label ">Bairro</label>
<input name="bairro" class="form-control" type="text">
</div>
 
<div class="form-group col-md-6 has-feedback">
<label class="control-label">Cidade</label>
<input name="cidade" class="form-control" type="text">
</div>
 
<div class="form-group col-md-6 has-feedback">
<label class="control-label">Estado</label>
<input name="estado" class="form-control" type="text">
</div>
<div class="form-group col-md-8 has-feedback">
<label class="control-label">Qual é a média de faturamento mensal do seu negócio?</label><br>
<label class="radio-inline">
<input type="radio" name="faturamento" id="inlineRadio1" value="30mil"> Até 30 mil
</label>
<label class="radio-inline">
<input type="radio" name="faturamento" id="inlineRadio2" value="30mil a 50mil"> 30 mil a 50 mil
</label>
<label class="radio-inline">
<input type="radio" name="faturamento" id="inlineRadio3" value="50 mil a 100 mil"> 50 mil a 100 mil
</label>
<label class="radio-inline">
<input type="radio" name="faturamento" id="inlineRadio4" value="acima de 100 mil"> acima de 100 mil
</label>
</div>
 
<div class="form-group">
<label class="col-md-4 control-label"></label>
<button type="submit" class="btn btn-success btn-lg" id="submit-pf" disabled="disabled">Enviar <span class="glyphicon glyphicon-send"></span>
</button>
</div>
<div id="msg" class="message"></div>
</fieldset>
</form>
<script type="text/javascript">
	$(document).ready(function() {
    $('#form')
        // IMPORTANT: You must declare .on('init.field.fv')
        // before calling .formValidation(options)
        .on('init.field.fv', function(e, data) {
            // data.fv      --> The FormValidation instance
            // data.field   --> The field name
            // data.element --> The field element

            var $icon      = data.element.data('fv.icon'),
                options    = data.fv.getOptions(),                      // Entire options
                validators = data.fv.getOptions(data.field).validators; // The field validators

            if (validators.notEmpty && options.icon && options.icon.required) {
                // The field uses notEmpty validator
                // Add required icon
                $icon.addClass(options.icon.required).show();
            }
        })

        .formValidation({
            framework: 'bootstrap',
            icon: {
                 	required: 'fa fa-asterisk',
		            valid: 'fa fa-check',
		            invalid: 'fa fa-times',
		            validating: 'fa fa-refresh'
            },

            err: {
            container: 'tooltip'},

            fields: {
                nome: {
                    validators: {
                        notEmpty: {
                            message: 'Precisa nos informar seu Nome.'
                        }
                    }
                },
                telefone: {
                validators: {
                    notEmpty: {
                        message: 'Favor informar seu número de telefone'
                    },
                    phone: {
                        country: 'BR',
                        message: 'Precisamos de um número válido'
                    	}
                	}
           		},
                celular: {
                validators: {
                    notEmpty: {
                        message: 'Favor informar seu número de celular'
                    },
                    phone: {
                        country: 'BR',
                        message: 'Precisamos de um número válido'
                    	}
                	}
           		},
           		email: {
                validators: {
                    notEmpty: {
                        message: 'Precisa nos informar seu e-mail'
                    },
                    emailAddress: {
                        message: 'O e-mail informado não é válido, por favor, verifique.'
                    	}
                	}
            	},
                confemail: {
                validators: {
                	identical: {
                    field: 'email',
                    message: 'Confirme seu e-mail, eles não estão iguais!'
                	},
                    notEmpty: {
                        message: 'Precisa nos informar seu e-mail'
                    },
                    emailAddress: {
                        message: 'O e-mail informado não é válido, por favor, verifique.'
                    	}
                	}
            	},
            	
            }
        })

        .on('status.field.fv', function(e, data) {
            // Remove the required icon when the field updates its status
            var $icon      = data.element.data('fv.icon'),
                options    = data.fv.getOptions(),                      // Entire options
                validators = data.fv.getOptions(data.field).validators; // The field validators

            if (validators.notEmpty && options.icon && options.icon.required) {
                $icon.removeClass(options.icon.required).addClass('fa');
            }
        });
});
</script>

 

 

script.js

var submit = $('#submit-pf'), message = $('#msg');
submit.on('click', function(e) {
	e.preventDefault();
	var $this = $(this);
	$.ajax({
		type : "POST",
		url : 'envia.php',
		dataType : 'html',
		cache : false,
		data : $('#form').serialize(),
		success : function(data) {
			if (data.info !== 'error') {
				$this.parents('form').find(
						'input[type=text],input[type=email],textarea,select')
						.filter(':visible').val('');
				message.hide().removeClass('success').removeClass('error')
						.addClass('success').html(data.msg).fadeIn('slow')
						.delay(5000).fadeOut('slow');
			} else {
				message.hide().removeClass('success').removeClass('error')
						.addClass('error').html(data.msg).fadeIn('slow').delay(
								5000).fadeOut('slow');
			}
		}
	});
});

 

 

 

  • Moderador
Postado

@frcardoso Seja bem vindo em nosso fórum. Obrigado pela sua participação. Espero que tenha bons momentos conosco!

 

Então, para podermos ajudar você melhor, recomendo que poste aqui os códigos, usando a tag CODE "<>" contido no editor.

Evite de anexar os arquivo, pelo menos de código. se for imagens e etc não tem problema. Anexando códigos, obriga a pessoa ter que baixa-los... e as vezes a pessoa não pode.. enfim... por hora estou colocando seus códigos no tópico.. nas próximas vezes você faz igual! :) 

 

Agora o problema.  Qual exatamente é o erro que mostra.. ou simplesmente não mostra nada... e não envia e-mail? Dê-nos mais detalhes sobre isso!

Postado

Obrigado pela dica!!

 

Simplesmente não envia e não apresenta erro algum.

 

No console do navegador também não apresenta erro!

 

Grato desde já pela atenção!

 

 

  • Moderador
Postado

@frcardoso Você está tentando rodar isso localmente ou é online direto do servidor mesmo?

Se for localmente... a função mail() do php não funciona...  alias esta é uma função que deveria ser extinta do php.. pois existe uma classe extremamente superior a ela... chamada phpmailer.  eu uso em todos meus projetos e recomendo sempre. principalmente aqui no fórum, existe  vários tópicos na qual eu ajudo os usuários a utilizar a classe.

  • Curtir 1
Postado

Olá amigo,

Primeiramente, confira o html grado passado como parametro do AJAX. No debug do google chrome tem como verificar isso.

Outra, pode ser o AJAX. Não há necessidade dentro do evento submit.

Evite fazer AJAX dentro de eventos do submit, não roda bem principalmente em sistemas com mais de 10 usuários fazendo acessos.

Pode chamar o php direto do HTML na propriedade "action" da tag <form>. Se necessitar fazer veriicações defina um botão tipo submit, e na propriedade "onclick" dele, adicione a chamada a sua função, que por vez dela retornando "true" ou "false". Se retornar false, o evento submit não ocorre.

Em WEB as vezes o tradicional é o mais seguro e funciona redondinho para não perdermos tempo.

Espero ter ajudado.

Postado

O problema foi resolvido, agradeço a todas as ajudas!!

 

Eu fazia uma verificação no PHP do campo segmento e no html não tinha um campo nomeado como segmento.

 

Troquei esse:

<select class="form-control" id="Segmento">

por esse:

<select class="form-control" name="segmento" id="Segmento">

e tudo rodou legal!!

 

Mas já alterei meu projeto com as dicas valiosas dos amigo.

 

Muito obrigado!!

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!