Folks, I made a landing page on the company page and it sends the information that people fill to my email using PHPMailer. Most emails are coming straight, with all the necessary information. However, some emails are coming empty, as if the variables were empty; as in the image below:
Thecodethatsendstheemailisonthe"Thank you" page, which retrieves the data via post:
$identificador = $_POST['identificador'];
$nome = $_POST['nome'];
$email = $_POST['email'];
$empresa = $_POST['company'];
$cargo = $_POST['cargo'];
$nfuncionarios = $_POST['func'];
$tipopessoa = $_POST['pessoa'];
$dificuldade = $_POST['dificuldade'];
//... recuperar os dados do formulario via post
require 'mailer/PHPMailerAutoload.php';
$Mailer = new PHPMailer();
// define que será usado SMTP
$Mailer->IsSMTP();
// envia email HTML
$Mailer->isHTML(true);
// codificação UTF-8
$Mailer->Charset = 'UTF-8';
// Configurações do SMTP
$Mailer->SMTPAuth = true;
$Mailer->Host = 'br296.hostgator.com.br';
$Mailer->Port = 25;
$Mailer->Username = '[email protected]';
$Mailer->Password = 'minha senha está aqui';
// E-Mail do remetente
// nesse caso email-do-cliente@)
$Mailer->From = '[email protected]';
// Nome do remetente-cliente
$Mailer->FromName = 'Kamers Marketing';
// assunto da mensagem
$Mailer->Subject = 'Ebook Marketing Digital: Passo a Passo';
// corpo da mensagem
$Mailer->Body = '<p><b>'.$nome.', baixou seu ebook "'.$identificador.'"</b>.</p> <p>E-mail para contato: '.$email.'<br><br>Empresa: '.$empresa.'<br><br>Cargo: '.$cargo.'<br><br>Número de Funcionários: '.$nfuncionarios.'<br><br>Tipo de pessoa: '.$tipopessoa.'<br><br>Principal Dificuldade: '.$dificuldade.'</p>';
// adiciona destinatário /*para onde a mensagem será enviada*/
$Mailer->AddAddress('[email protected]');
$Mailer->AddAddress('[email protected]');
// verifica se enviou corretamente
if ($Mailer->Send())
{
}
else
{
('Location: marketing-digital-passo-a-passo');
}
I have already done several tests on the form, but its validation is right, it does not let empty fields pass. I imagine this would happen if someone accessed the "Thank you" page directly through the url without filling in the data before, but it is strange that this happens so many times ...
Well, maybe it's the validation, which I did with pattern in html:
<!--no action do form vai para pagina de agradecimento-->
<form id="conversion-form" action="obrigado" method="POST" onsubmit="imgloader()">
<input type="hidden" name="identificador" value="Marketing Digital: Passo a Passo">
<div class="field">
<label for="name">Nome*</label>
<input type="text" required name="nome" id="name" pattern="^([^*]{3,20})+\ ([^*]{3,20})$" title="Seu Nome Completo, por favor" value="" class="form-control required">
</div>
<div class="field">
<label for="email">Email*</label>
<input type="email" required name="email" id="email" title="Insira um E-mail Válido" pattern="^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" value="" class="form-control required">
</div>
<div class="field">
<label for="company">Empresa*</label>
<input type="text" required name="company" pattern="^[^*]{2,20}" id="company" value="" class="form-control required">
</div>
<div class="field">
<label for="custom_fields_8346">Cargo*</label>
<select required name="cargo" id="custom_fields_8346" class="form-control required">
<option value="" disabled selected>Selecione</option>
<option value="CEO / Sócio">CEO / Sócio</option>
<option value="Diretor">Diretor</option>
<option value="Gerente/Coordenador de marketing">Gerente/Coordenador de marketing</option>
<option value="Gerente/Coordenador de vendas">Gerente/Coordenador de vendas</option>
<option value="Analista de marketing">Analista de marketing</option>
<option value="Outros cargos">Outros cargos</option>
</select>
</div>
<div class="field">
<label for="custom_fields_8341">Número de funcionários*</label>
<select required name="func" id="custom_fields_8341" class="form-control required">
<option value="" disabled selected>Selecione</option>
<option value="1 - 5">1 - 5</option>
<option value="6 - 10">6 - 10</option>
<option value="11 - 25">11 - 25</option>
<option value="26 - 50">26 - 50</option>
<option value="51 - 200">51 - 200</option>
<option value="201 - 1.000">201 - 1.000</option>
<option value="mais de 1.000">mais de 1.000</option>
</select>
</div>
<div class="field">
<label for="custom_fields_17882">Como você se define*</label>
<select required name="pessoa" id="custom_fields_17882" class="form-control required">
<option value="" disabled selected>Selecione</option>
<option value="Estudante buscando conhecimento">Estudante buscando conhecimento</option>
<option value="Funcionário procurando informações">Funcionário procurando informações</option>
<option value="Empresa procurando soluções">Empresa procurando soluções</option>
</select>
</div>
<div class="field">
<label for="custom_fields_17930">Principal Dificuldade*</label>
<select name="dificuldade" id="custom_fields_17930" class="form-control required" required>
<option value="" disabled selected>Selecione</option>
<option value="Gerar mais leads">Gerar mais leads</option>
<option value="Leads mais qualificados">Leads mais qualificados</option>
<option value="Aumentar as vendas">Aumentar as vendas</option>
<option value="Aumentar visitas">Aumentar visitas</option>
<option value="Estou totalmente perdido">Estou totalmente perdido</option>
</select>
</div>
<div class="field">
<label><span id="math_expression">3 + 7 = ?</span></label>
<input required type="text" name="captcha" class="math">
</div>
<!--fim do formulario*****************-->
<div class="actions">
<input type="submit" class="call_button" value="RECEBER MATERIAL">
</form>
Do you know if it's a mistake I did not see?