Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com Newsletter


GilsonLuiz

Pergunta

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 para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...