Ir para conteúdo

POWERED BY:

Arquivado

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

ADMINWEB

Cadastra sem verificar e não envia o email

Recommended Posts

Olá pessoal no estou com problemas nesse script é o seguinte quero que quando eu enviar o formulário e-mail informar a noticia sucesso caso seja um email cadastrado, ate esta cadastrando e validando e-mail mais o problema que não esta enviando quando envio vazio mostra o alerta de invalido porem esta cadastrando os outros demais e-mail que não vem do $_POST, e a mensagem de sucesso queria que ela so exibisse quando enviasse, notei que ela esta mostrando mesmo caso da erro porém não mostra o e-mail:



COMO RESOLVER ESSA BAGUNÇA, ME AJUDE POR FAVOR, DESDE MADRUGADO ESTOU EM ESSE ENIGMA RSRSR



VEJAM O CÓDIGO:




<meta charset="utf-8">

<?php
require_once ('functions/Conexao.php');
require_once ('functions/Crud.php');
// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require_once("envia_email/PHPMailer/class.phpmailer.php");


// Inicia a classe PHPMailer
$mail = new PHPMailer();


/* Recupera senha e envia e-mail */
// Recupera os dados do formulário
$login_email = utf8_decode (strip_tags(trim($_POST['login_email'])));// Recupera email informado do formulario


//verifica se e-mail esta no formato correto de escrita
if (!ereg('^([a-zA-Z0-9.-_])*([@])([a-z0-9]).([a-z]{2,3})',$login_email) OR empty($_POST['login_email'])){
$mensagem=' !! ERROR !!:Email inválido Verifique seu E-mail, e tente novamente!... ';
echo "<script language='JavaScript'>alert('".$mensagem."');location.href='../index.php'</script>";
}else{
//Valida o dominio
$dominio=explode('@',$login_email);
if(!checkdnsrr($dominio[1],'A')){
$mensagem=' !! ERROR !!:Email não existe verifique seu E-mail, e tente novamente!... ';
echo "<script language='JavaScript'>alert('".$mensagem."');location.href='../index.php'</script>";
}
}
// Selecionar banco de dados
$model = new Crud;
$model->select_tabela = "clientes";
$model->select_colunas = "*";
$model->conditionWHERE = "campo_email='$login_email'";
$model->listar_where();
$resultados = $model->linhas;
$total = count($resultados);
if ($total > 0) {
foreach ($resultados as $resultados) {
$nome_cliente = $resultados['campo_nome'];
$cpf_cnpj_cliente = $resultados['campo_cpf_cnpj'];
$login_cliente = $resultados['campo_loginuser'];
$email_cliente = $resultados['campo_email'];
}
}else{echo '<script>alert(" !!! ERROR !!!: E-mail não encontrado em nosso sistema tente novamente!!!. ");location.href="../index.php"</script>';}


function senha_aleatoria(){
$caracteres = "abcdefghijlmnopqrstuvxwz";
// Recebe concatenado o nome da pessoa + o tempo
$juncao = $caracteres.time();
// Ele faz um md5 da variavel $aux e captura os 6 primeiros caracteres
$senhagerada = substr(md5($juncao),0,6);
return $senhagerada;
}
$nova_senha_cliente = md5(senha_aleatoria());
# Sé for um só cliente atualiza...
$model = new Crud;
$model->update_tabelas = "clientes";
$model->conditionWHERE = "campo_email='$login_email'";
$model->update_colunas = "campo_senhauser='$nova_senha_cliente'";
$model->atualizar();


$corpo ="<strong>NETMAX INTERNET RECUPERANDO SENHAS:</strong> <br /><br />
<table>
<tbody>
<tr>
<td>Nome:</td>
<td colspan='3'> $nome_cliente</td>
</tr>


<tr>
<td>CPF:</td>
<td colspan='3'> $cpf_cnpj_cliente</td>
</tr>


<tr>
<td>E-mail:</td>
<td colspan='3'> $email_cliente</td>
</tr>


<tr>
<td>Usuário:</td>
<td colspan='3'> $login_cliente</td>
</tr>


<tr>
<td>Senha:</td>
<td colspan='3'> $nova_senha_cliente</td>
</tr>
</tbody>
</table>
";
// $corpoSimples = "";


// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Host = "smtp.gmail.com"; // Endereço do servidor SMTP
//$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
//$mail->Username = email@gmail.com'; // Usuário do servidor SMTP
//$mail->Password = '*****'; // Senha do servidor SMTP


// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = $email_cliente; // Seu e-mail
$mail->FromName = "Varlei NetMax"; // Seu nome
$mail->Subject = "Recuperando senha no site da NETMAX"; // Assunto da mensagem


// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAddress('email1@gmail.com', 'Cleiton NetMax');
//$mail->AddCC('email2@hotmail.com', 'Ducinéia Bastos');
$mail->AddAddress('email3@hotmail.com', 'Varlei Oliveira');


// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
$mail->CharSet = 'utf8_encode'; // Charset da mensagem (opcional)


// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Informa o corpo da mensagem
$mail->Body = $corpo;
// Se o e-mail destino não suportar HTML ele envia o texto simples
//$mail->AltBody = $corpoSimples;


// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf"); // Insere um anexo


// Envia o e-mail
$enviado = $mail->Send();


// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();


// Exibe uma mensagem de resultado
if ($enviado) {
echo '<script>alert(" !! SUCESSO !!:Sua nova senha foi gerada e enviada para: \n E-mail: '.$email_cliente.', \n Porfavor Verifique seu E-mail... ");location.href="../index.php"</script>';


} else {
echo '<script>alert(" !! ERROR !!: Atenção: Não foi possível completar o cadastro.");location.href="../index.php"</script>'. $mail->ErrorInfo;
}
?>


DESDE JÁ AGRADEÇO.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

A mensagem de enviado que aí está, consiste em ser disparada se o email foi enviado, e não se você recebeu o email do POST. você tem que validar a entrada de dados, você só está verificando se o email é válido ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Gabriel por responder, deu uma melhorada no código, agora o problema é o seguinte não está enviando o E-mail, está cadastrando no banco de dados, um erro meu não tinha notado há campos vazios no bando por isso cadastrava mesmo sem passar o e-mail, também verifiquei que o $_POST esta recebendo o valor e-mail dando um var_dump($login_email);.

O problema também é que mesmo que eu não passo valor no post me mostra a mensagem sucesso como resolver isso?

 

Obrigado novamente!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A mensagem de enviado que aí está, consiste em ser disparada se o email foi enviado, e não se você recebeu o email do POST. você tem que validar a entrada de dados, você só está verificando se o email é válido ou não.

 

 

Obrigado Gabriel por responder, deu uma melhorada no código, agora o problema é o seguinte não está enviando o E-mail, está cadastrando no banco de dados, um erro meu não tinha notado há campos vazios no bando por isso cadastrava mesmo sem passar o e-mail, também verifiquei que o $_POST esta recebendo o valor e-mail dando um var_dump($login_email);.

O problema também é que mesmo que eu não passo valor no post me mostra a mensagem sucesso como resolver isso?

Obrigado novamente!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o corregido tudo certo ao não se a mensagem de alerta SUCESSO mostra mesmo que não haja E-mail como resolver?

 

 

<meta charset="utf-8">

<?php
require_once ('functions/Conexao.php');
require_once ('functions/Crud.php');
// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require_once("envia_email/PHPMailer/class.phpmailer.php");


// Inicia a classe PHPMailer
$mail = new PHPMailer();


/* Recupera senha e envia e-mail */
// Recupera os dados do formulário
$login_email = utf8_decode (strip_tags(trim($_POST['login_email'])));// Recupera email informado do formulario
//verifica se e-mail esta no formato correto de escrita
if (!ereg('^([a-zA-Z0-9.-_])*([@])([a-z0-9]).([a-z]{2,3})',$login_email) OR empty($_POST['login_email'])){
$mensagem=' !! ERROR !!:Email inválido Verifique seu E-mail, e tente novamente!... ';
echo "<script language='JavaScript'>alert('".$mensagem."');location.href='../index.php'</script>";
}else{
//Valida o dominio
$dominio=explode('@',$login_email);
if(!checkdnsrr($dominio[1],'A')){
$mensagem=' !! ERROR !!:Email não existe verifique seu E-mail, e tente novamente!... ';
echo "<script language='JavaScript'>alert('".$mensagem."');location.href='../index.php'</script>";
}
}
// Selecionar banco de dados
$model = new Crud;
$model->select_tabela = "clientes";
$model->select_colunas = "*";
$model->conditionWHERE = "campo_email='$login_email'";
$model->listar_where();
$resultados = $model->linhas;
$total = count($resultados);
if ($total > 0) {
foreach ($resultados as $resultados) {
$nome_cliente = $resultados['campo_nome'];
$cpf_cnpj_cliente = $resultados['campo_cpf_cnpj'];
$login_cliente = $resultados['campo_loginuser'];
$email_cliente = $resultados['campo_email'];
}
}else{echo '<script>alert(" !!! ERROR !!!: E-mail não encontrado em nosso sistema tente novamente!!!. ");location.href="../index.php"</script>';}


function senha_aleatoria(){
$caracteres = "abcdefghijlmnopqrstuvxwz";
// Recebe concatenado o nome da pessoa + o tempo
$juncao = $caracteres.time();
// Ele faz um md5 da variavel $aux e captura os 6 primeiros caracteres
$senhagerada = substr(md5($juncao),0,6);
return $senhagerada;
}
$nova_senha_cliente = md5(senha_aleatoria());
# Sé for um cliente como um E-mail existe no banco atualiza...
$model = new Crud;
$model->update_tabelas = "clientes";
$model->conditionWHERE = "campo_email='$login_email'";
$model->update_colunas = "campo_senhauser='$nova_senha_cliente'";
$model->atualizar();


$corpo ="<strong>NETMAX INTERNET RECUPERANDO SENHAS:</strong> <br /><br />
<table align='left' border='0' cellpadding='3' cellspacing='1' style='width: 480px;'>
<tbody>
<tr>
<td scope='col' valign='middle'>
<p align='right'><span style='color: #003366;'><strong><span style='font-family: arial, helvetica, sans-serif;'>Nome do cliente:</span></strong></span> </p>
</td>
<td scope='col' valign='middle'>
<p><strong><span style='font-family: arial, helvetica, sans-serif;'> $nome_cliente</span></strong></p>
</td>
</tr>
<tr>
<td scope='col' valign='middle'>
<p align='right'><span style='color: #003366;'><strong><span style='font-family: arial, helvetica, sans-serif;'>CPF do cliente:</span></strong></span> </p>
</td>
<td scope='col' valign='middle'>
<p><strong><span style='font-family: arial, helvetica, sans-serif;'> $cpf_cnpj_cliente</span></strong></p>
</td>
</tr>
<tr>
<td scope='col' valign='middle'>
<p align='right'><span style='color: #003366;'><strong><span style='font-family: arial, helvetica, sans-serif;'>EMAIL do Cliente:</span></strong></span></p>
</td>
<td scope='col' valign='middle'>
<p><strong><span style='font-family: arial, helvetica, sans-serif;'> $email_cliente</span></strong></p>
</td>
</tr>
<tr>
<td scope='col' valign='middle'>
<p align='right'><span style='color: #003366;'><strong><span style='font-family: arial, helvetica, sans-serif;'>Usuário de acesso:</span> </strong></span></p>
</td>
<td scope='col' valign='middle'>
<p><strong><span style='font-family: arial, helvetica, sans-serif;'> $login_cliente</span></strong></p>
</td>
</tr>
<tr>
<td scope='col' valign='middle'>
<p align='right'><span style='color: #003366;'><strong><span style='font-family: arial, helvetica, sans-serif;'>Senha de acesso:</span></strong></span></p>
</td>
<td scope='col' valign='middle'>
<p><strong><span style='font-family: arial, helvetica, sans-serif;'> $nova_senha_cliente</span></strong></p>
</td>
</tr>
</tbody>
</table>
";
$corpoSimples = "
<b>Nome:<b> $nome_cliente <br />
<b>CPF:<b> $cpf_cnpj_cliente <br />
<b>E-mail:<b> $email_cliente <br />
<b>Usuário:<b> $login_cliente <br />
<b>Senha:<b> $nova_senha_cliente <br />

";


// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Host = "smtp.gmail.com"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'emaildo@gmail.com'; // Usuário do servidor SMTP
$mail->Password = '****'; // Senha do servidor SMTP


// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = "emaildo@gmail.com"; // Seu e-mail
$mail->FromName = "Varlei NetMax"; // Seu nome
$mail->Subject = "Recuperando senha no site da NETMAX"; // Assunto da mensagem


// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAddress('email1@gmail.com', 'Cleiton NetMax');
//$mail->AddCC('email2@hotmail.com', 'Ducinéia Bastos');
$mail->AddAddress($email_cliente, $nome_cliente);


// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
$mail->CharSet = 'utf8_encode'; // Charset da mensagem (opcional)


// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Informa o corpo da mensagem
$mail->Body = $corpo;
// Se o e-mail destino não suportar HTML ele envia o texto simples
$mail->AltBody = $corpoSimples;


// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf"); // Insere um anexo


// Envia o e-mail
$enviado = $mail->Send();


// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();


// Exibe uma mensagem de resultado
if ($enviado) {
echo '<script>alert(" !! SUCESSO !!:Sua nova senha foi gerada e enviada para: \n E-mail: '.$email_cliente.', \n Porfavor Verifique seu E-mail... ");location.href="../index.php"</script>';


} else {
echo '<script>alert(" !! ERROR !!: Atenção: Não foi possível completar o cadastro.");location.href="../index.php"</script>'. $mail->ErrorInfo;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A mensagem de enviado que aí está, consiste em ser disparada se o email foi enviado, e não se você recebeu o email do POST. você tem que validar a entrada de dados, você só está verificando se o email é válido ou não.

if ($_POST['login_email'] == $email_cliente){
// Envia o e-mail
$enviado = $mail->Send();
// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();
RESOLVIDO OBRIGADO GABRIEL POR ME AJUDAR A ABRIR A MENTE FIZ ESSA MODIFICAÇÃO VEJA:
// Exibe uma mensagem de resultado
if ($enviado) {
echo '<script>alert(" !! SUCESSO !!:Sua nova senha foi gerada e enviada para: \n E-mail: '.$email_cliente.', \n Porfavor Verifique seu E-mail... ");location.href="../index.php"</script>';
} else {
echo '<script>alert(" !! ERROR !!: Atenção: Não foi possível completar o cadastro.");location.href="../index.php"</script>'. $mail->ErrorInfo;
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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