Jump to content
Fórum Script Brasil
  • 0

Problema com Newsletter


GilsonLuiz

Question

Olá Pessoal,

Sou novo na area, e estou com um probleminha em um newsletter que encontrei na web. Que foi desenvolvido em php + jquery.

Estou a utilizalo em wordpress.

A unica alteração que eu fiz foi a questão do visual para aparecer bem bacaninha no meu site e o email que envia e recebe os dados.

Ele verifica se é um email, se já está cadastrado etc...

E quando tento cadastrar um email ele simplesmente volta o cursor para o final do email, o que poderia ser isso?

Obrigado,

Gilson Luiz Rauschkolb

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Ok, vou tentar :D

Codigo no site:

Codigos no header

&lt;script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.js"/></script>
&lt;script type="text/javascript">

  $(function(){
    $("#cadastrar").click(function(){
       $("#formulario_news").hide("slow");      
         beforeSend:$("#carregando_news").show("slow");
         var email = $("#email").val();
         $.post("<?php echo get_settings('home'); ?>/newsletter/cadastro.php",{email: email}, function(pegar_retorno){
            complete:$("#carregando_news").hide("slow");
            $("#retorno").show("slow").html(pegar_retorno);
            $("#voltar").click(function(){
             $("#retorno").hide("slow");                        
             $("#formulario_news").show("slow");                
            });
        });
    });
  });


</script>
Codigos na Index
<div id="newsletter">
                    <div id="formulario_news">
                        <label>
                            <input type="text" name="email" id="email" />
                            <input type="submit" value="Cadastrar" id="cadastrar" class="btn" />
                        <span>Seu e-mail</span>
                        </label>
                    </div><!--formulario_news-->
                    <div id="carregando_news" style="padding:10px; float:left; display:none;">
                        <img src="<?php bloginfo ('template_url'); ?>/images/ajax-loader.gif" alt="" /> Aguarde, enviando...
                    </div><!--carregando news-->
                    <div id="retorno" style="padding:10px; float:left; border:1px solid #0F0; background:#C1FFD1; width:168px; display:none;
                                          font:14px 'Trebuchet MS', Arial, Helvetica, sans-serif; font-weight:bold; color:#333;">
                    </div><!--retorno-->
                </div>
Codigo no CSS:
#newsletter{
    width:206px;
    border:1px solid #ff0000;
    margin:0 0 0 0;
    float:left;
}
#newsletter input{
    width:188px;
    margin:5px 5px 5px 5px;
    padding:3px 3px 3px 3px;
    font:14px "Trebuchet MS", Arial, Helvetica, sans-serif;
    font-weight:bold;
    color:#999999;
    border:1px solid #333333;
}
#newsletter .btn{
    width:100px;
    float:right;
    margin:0 5px 5px 0;
    padding:0;
    color:#fff;
    background:#333;
    cursor:pointer;
}
#newsletter .btn:hover{
    background:#ffffff;
    color:#d70000;
    border:1px solid #333333;
}
#newsletter label{
    display:block;
}
#newsletter span{
    float:left;
    padding:0 5px 5px 5px;
    font-weight:bold;
}
Codigos da Newsletter: Codigo Cadastro
<?php
include "config.php";
?>

<?php 
    
$email = strip_tags(trim($_POST['email']));

  if(empty($email)){
     echo 'Informe seu email<br />';
     echo "<button id=\"voltar\">Voltar</buttom>";
  }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
     echo 'Informe um email válido<br />';
     echo "<button id=\"voltar\">Voltar</buttom>";
  }elseif(empty($erro)){
      
      
   echo "Cadastro com sucesso! confirme em seu email";
     
     $codigo = md5($email);
     
     $verifica = mysql_query("SELECT email FROM ns_cadastro WHERE email = '$email'") or die(mysql_error());
     $contar_verifica = mysql_num_rows($verifica);
     if($contar_verifica <= '0'){
     
     $cadastra = mysql_query("INSERT INTO ns_cadastro (email, codigo, status) VALUES ('$email','$codigo','inativo')")
                or die(mysql_error());
                
     $para = 'contato@interarabuta.com.br';
     $assunto = 'Nova Assinatura de boletim';
     $data = date('d/m/Y H:i');
     
     $MSN = "
        Olá <strong>$nome</strong>. Recebemos um pedido de cadastro do seu email em nosso boletim!
        <br />
        Para confirmar seu cadastro, por favor clique no link abaixo.
        <br />
        <br />
        <a href=\"http://www.interarabuta.com.br/teste/wordpress/newsletter/confirma.php?email=$email&codigo=$codigo\">Confirmar Cadastro</a>
        <br />
        <br />
        Se você não cadastrou este pedido em nosso site, por favor ignore este email!
        <br />
        Atenciosamente <strong>Inter Arabutã</strong>
        <br />
        <br />
        Enviado em: $data
     ";
     
     $headers = "From: $para\n";
     $headers .= "Content-Type: text/html; charset=\"utf-8\"\n\n";
     
     mail($email,$assunto,$MSN,$headers);    
                
     }else{     
     
     $para = 'contato@interarabuta.com.br';
     $assunto = 'Nova Assinatura de boletim';
     $data = date('d/m/Y H:i');
     
     $MSN = "
        Olá <strong>$nome</strong>. Recebemos um pedido de cadastro do seu email em nosso boletim!
        <br />
        Para confirmar seu cadastro, por favor clique no link abaixo.
        <br />
        <br />
        <a href=\"http://www.interarabuta.com.br/teste/wordpress/newsletter/confirma.php?email=$email&codigo=$codigo\">Confirmar Cadastro</a>
        <br />
        <br />
        Se você não cadastrou este pedido em nosso site, por favor ignore este email!
        <br />
        Atenciosamente <strong>Inter Arabutã</strong>
        <br />
        <br />
        Enviado em: $data
     ";
     
     $headers = "From: $para\n";
     $headers .= "Content-Type: text/html; charset=\"utf-8\"\n\n";
     
     mail($email,$assunto,$MSN,$headers);    

   }
 }
?>
Codigo Config
<?php
$conexao = mysql_connect('localhost','inter528_gilson','******')
           or die(mysql_error());
$db = mysql_select_db('inter528_teste')
           or die(mysql_error());
?>
Codigo Confirma
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Confirmar UP Newsletter</title>
<?php include "config.php";?>
</head>

<body>
<?php
$email = $_GET['email'];
$codigo = $_GET['codigo'];

$verifica_codigo = mysql_query("SELECT email FROM ns_cadastro WHERE codigo = '$codigo'");
$contar_codigo = mysql_num_rows($verifica_codigo);

if($contar_codigo <= '0'){
    $erro = "<h1 style=\"text-align:center; color:#900; padding:10px; font-variant:small-caps;\">ERRO - Código e ou email não cadastrados!</h1>";
}else{
    
       $confirma = mysql_query("UPDATE ns_cadastro SET status = 'ativo' WHERE codigo = '$codigo'")
                  or die(mysql_error());
            
if ($confirma >= '1'){
    $erro = "<h1 style=\"text-align:center; color:#369; padding:10px; font-variant:small-caps;\">
         Seu E-mail foi confirmado com sucesso! Bem vindo(a) ao nosso boletim!
          </h1>";


        $data = date('d/m/Y H:i');
        $MSN = "
        
        <strong>Parabéns, seu cadastro foi realizado com sucesso!</strong>
        <br />
        <br /> 
        Obrigado por se cadastrar em nosso boletim. A equipe <strong>Inter Arabutã agradece!</strong>
        <br />
        <br />
        Enviado em: $data
        
        
        ";

        $para = 'contato@interarabuta.com.br';
        $assunto = 'Assinatura de boletim concluida';
        
        $headers = "From: $para\n";
        $headers .= "Content-Type: text/html; charset=\"utf-8\"\n\n";
        
        mail($email,$assunto,$MSN,$headers);

  }
 }

?>
<?php echo $erro; ?>
<h2 style="color:#F60; font-variant:small-caps; text-align:center;">Inter Arabutã - Todos os Direitos Reservados!</h2>
<div style="text-align:center;">
<a href="http://www.interarabuta.com.br" style="color:#005789; font-variant:small-caps;">VOLTE AO SITE!</a>
</span>
</body>
</html>
Codigo Remove
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
include "config.php";
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Confirmar cadastro</title>
</head>


<body>
<?php
$email = $_GET['email'];
$codigo = $_GET['codigo'];

$confirma = mysql_query("DELETE FROM ns_cadastro WHERE codigo = '$codigo'")
            or die(mysql_error());
            
if($confirma <= '0'){
    echo "erro ao remover seu cadastro tente novamente!";
}else{
    echo "Seu email foi removido com sucesso :(";


        $data = date('d/m/Y H:i');
        $MSN = "
        
        <strong>Recebemos a solicitação de exclusão do seu cadastro!</strong>
        <br />
        <br /> 
        Estamos informando que a mesma foi realizada com sucesso. A equipe Inter Arabutã agradece!
        <br />
        <br />
        Removido em: $data
        
        
        ";

        $para = 'contato@interarabuta.com.br';
        $assunto = 'Cancelamento de boletim concluido';
        
        $headers = "From: $para\n";
        $headers .= "Content-Type: text/html; charset=\"utf-8\"\n\n";
        
        mail($email,$assunto,$MSN,$headers);

}

?>


</body>
</html>

Esses são os codigos da pasta principal do newsletter, tem ainda a pasta de admin, mas acho que não interfere nesta.

Link to comment
Share on other sites

  • 0

Cara, ver se entendi, o seu problema é que você não consegue cadastrar o email no formulario(index) é isso?

Caso seja, acho que o problema esteja no proprio formulario, você deve colocar o conteudo div formulario entre as tags <form></form> assim:

<div id="newsletter">
                    <div id="formulario_news">
                       <form action="cadastro.php" method="post"> 
                          <label>
                              <input type="text" name="email" id="email" />
                              <input type="submit" value="Cadastrar" id="cadastrar" class="btn" />
                          <span>Seu e-mail</span>
                          </label>
                       </form>
                    </div><!--formulario_news-->
                    <div id="carregando_news" style="padding:10px; float:left; display:none;">
                        <img src="<?php bloginfo ('template_url'); ?>/images/ajax-loader.gif" alt="" /> Aguarde, enviando...
                    </div><!--carregando news-->
                    <div id="retorno" style="padding:10px; float:left; border:1px solid #0F0; background:#C1FFD1; width:168px; display:none;
                                          font:14px 'Trebuchet MS', Arial, Helvetica, sans-serif; font-weight:bold; color:#333;">
                    </div><!--retorno-->
                </div>

Qualquer dúvida, posta aí!

Link to comment
Share on other sites

  • 0

Pois é amigo, que pelo video que vi onde fizeram essa news, ficaria sem o form pois o jquery atualiza a pagina e faz isso. mas no meu caso não faz nada não sei porque, já tentei entrar em contato com o pessoal que forneceu mas sem sucesso. Ele teria que verificar se é um email valido, se já foi cadastrado etc... tudo sem o form especificamente sabe.

Link to comment
Share on other sites

  • 0
Cara, ver se entendi, o seu problema é que você não consegue cadastrar o email no formulario(index) é isso?

Caso seja, acho que o problema esteja no proprio formulario, você deve colocar o conteudo div formulario entre as tags <form></form> assim:

<div id="newsletter">
                    <div id="formulario_news">
                       <form action="cadastro.php" method="post"> 
                          <label>
                              <input type="text" name="email" id="email" />
                              <input type="submit" value="Cadastrar" id="cadastrar" class="btn" />
                          <span>Seu e-mail</span>
                          </label>
                       </form>
                    </div><!--formulario_news-->
                    <div id="carregando_news" style="padding:10px; float:left; display:none;">
                        <img src="<?php bloginfo ('template_url'); ?>/images/ajax-loader.gif" alt="" /> Aguarde, enviando...
                    </div><!--carregando news-->
                    <div id="retorno" style="padding:10px; float:left; border:1px solid #0F0; background:#C1FFD1; width:168px; display:none;
                                          font:14px 'Trebuchet MS', Arial, Helvetica, sans-serif; font-weight:bold; color:#333;">
                    </div><!--retorno-->
                </div>
Qualquer dúvida, posta aí!
Olá Amigo, Coloquei o codigo que você indicou
<form action="cadastro.php" method="post">

e não inseriu o email no banco do newsletter.

Você acha que se eu te mandar os arquivos do newsletter ajuda algo?

Obrigado,

Gilson Luiz Rauschkolb

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...