Ir para conteúdo

POWERED BY:

Arquivado

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

jawd-webdesign

Isto esta serto?

Recommended Posts

Olá pessoal do imasters

Segue o código de um script que fiz para verificar se o e-mail de um cliente esta cadastrado no banco de dados. Se não estiver ele cadastra e envia o link para ele.

 

<?

$nome=$_POST["nome"];

$email=$_POST["email"];

$erro=0;

if(empty($nome) OR strstr ($nome, " ")==FALSE){

echo "Por favor digite pelo menos os seus dois primeiros nomes.<br>";

$erro=1;

}

if(strlen($email)<8 || strstr ($email, "@")==FALSE){

echo "Por favor digite seu e-mail corretamente.<br>";

$erro=1;

}

if($erro==0){

include "conecta_leal.inc";

$sql="SELECT * FROM newsletter";

$resultado=mysql_query($sql);

$linhas=mysql_num_rows($resultado);

 

if($linhas==0){

$sql="INSERT INTO newsletter VALUES(' ','$nome','$email','n')";

$resultado=mysql_query($sql);

$mensagem="Para que você posso receber a nosso Newsletter acesse o link a seguir Http://www.imobiliarialeal.com.br/confirmar_new?cod=0";

mail($email,"Newsletter Imobiliaria Leal",$mensagem);

echo "Obrigado por se cadastrar conosco. Temos certeza que você irá gostar do conteúdo de nossa News";

}

else

{

$email_cadastrado="não";

for($i=0;$i<$linhas;$i++){

if($email==mysql_result($resultado,$i,2)){

echo "Este e-mail já se encontra cadastrado em nossa base de dados.";

$email_cadastrado="sim";

break;

}

}

if($email_cadastrado!="sim"){

$mensagem="Para que você posso receber a nosso Newsletter acesse o link a seguir Http://www.imobiliarialeal.com.br/confirmar_new?cod=0";

mail($email,"Newsletter Imobiliaria Leal",$mensagem);

echo "Obrigado por se cadastrar conosco. Temos certeza que você irá gostar do conteúdo de nossa News";

}

}

 

}

?>

 

Gostaria que de saber se viajei muito nesses códigos ou tem um jeito mais correto.

Obrigado a todos que reponderem

Compartilhar este post


Link para o post
Compartilhar em outros sites

As validações estao fracas , procura validar o email com E.R.

 

e você nao esta vendo se o email ja esta cadastrado aqui

 

SELECT * FROM newsletter"; você esta fazendo uma pesquisa completa nao tem como você saber se o email da pessoa ja esta cadastrada

 

o que você tem que fazer é assim:

 

SELECT * FROM newsletter where email = '$email'";

 

ai sim você consegue ver se ja tem o email cadastrado

 

e esses tipos de validações que você criou tipo $email_cadastrado!="sim" nem precisa fazer assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Fabyo

 

Olha vê se esta legal agora.

 

<?

$nome=$_POST["nome"];

$email=$_POST["email"];

$erro=0;

if(empty($nome) OR strstr ($nome, " ")==FALSE){

echo "Por favor digite pelo menos os seus dois primeiros nomes.<br>";

$erro=1;

}

if(strlen($email)<8 || strstr ($email, "@")==FALSE){

echo "Por favor digite seu e-mail corretamente.<br>";

$erro=1;

}

if($erro==0){

include "conecta_leal.inc";

$sql="SELECT * FROM newsletter WHERE email='$email'";

$resultado=mysql_query($sql);

$linhas=mysql_num_rows($resultado);

if($linhas==0){

$sql="INSERT INTO newsletter VALUES(' ','$nome','$email','n')";

$resultado=mysql_query($sql);

$mensagem="Para que você posso receber a nosso Newsletter acesse o link a seguir Http://www.imobiliarialeal.com.br/confirma...hp?cod=0";

echo "Obrigado por se cadastrar conosco. Temos certeza que você irá gostar do conteúdo de nossa News";

}

else

{

echo "Este e-mail já se encontra cadastrado em nossa base de dados.";

}

}

?>

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.