Ir para conteúdo

Arquivado

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

  • 0
Gian Dias

Link para Descadastrar Newsletter

Pergunta

Boa Tarde,

 

Preciso de ajuda em PHP

Tenho um Script de e-mail marketing com o PHPMailer, envia tudo certinho, porém quero adaptar o LINK para o Usuário Descadastrar o recebimento desses emails.

Eu criei uma tela onde o link é redirecionado, e tem o campo NOME, EMAIL e MOTIVO, quando o usuário da Submit, o email é deletado automaticamente do BD, mas o que quero fazer é uma tela onde o usuário não precise inserir o E-mail, que por scrip o e-mail seja "puxado" automaticamente.

 

Alguém tem ideia de como faço isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Você pode fazer por $_GET, por exemplo cada e-mail vai com um link para descadastrar os Newsletter contendo as informações no link que seu sistema irá pegar.

www.seusite.com.br/newsletter.php?descadastrar=true&email=email@email.com

No seu código você pega esses valores com o $_get e deleta sem precisa o usuário fazer nada.

Claro que isso e só um exemplo simplificado você teria que botar uma segurança maior para evitar sql injection e etc..

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por JulioMoraes
      Preciso de ajuda para configurar a Newsletter e o formulário de contato do meu site.
    • Por Kelven
      Galera tô com um problema, tenho um formulário de newsletter do mailchimp que integrei em um site, porém preciso saber quando for uma resposta específica (quando um email já está cadastrado na lista) da variável data.msg, redirecione para uma página, porém não tô sabendo como pegar essa resposta específica porque ela muda de acordo com o email que foi digitado, então gostaria de saber como poderia estar resolvendo esse problema?? 
      (function () { if (document.getElementsByTagName('form').length > 0) { document.getElementsByTagName('form')[0].addEventListener('submit', function (e) { e.preventDefault(); // Check for spam if(document.getElementById('js-validate-robot').value !== '') { return false } // Get url for mailchimp var url = this.action.replace('/post?', '/post-json?'); document.getElementById('js-subscribe-response').innerHTML = '<img src="load.gif">'; // Add form data to object var data = ''; var inputs = this.querySelectorAll('#js-form-inputs input'); for (var i = 0; i < inputs.length; i++) { data += '&' + inputs[i].name + '=' + encodeURIComponent(inputs[i].value); } // Create & add post script to the DOM var script = document.createElement('script'); script.src = url + data; document.body.appendChild(script); // Callback function var callback = 'callback'; window[callback] = function(data) { // Remove post script from the DOM delete window[callback]; document.body.removeChild(script); // aqui seria onde se o email já estiver cadastrado redirecionaria para a página que eu quisesse if(data.msg == 'esse email já foi cadastrado') { document.getElementById('js-subscribe-response').innerHTML = data.msg, document.getElementById('esconder').style.display = 'none'; window.location="https://site.com/pagina"; } else {document.getElementById('js-subscribe-response').innerHTML = data.msg} }; }); } })();  
    • Por Kelven
      Galera to enfrentando um problema, no meu tumblr to querendo colocar o popup de newsletter do Mailchimp, até ai tudo bem, é pra funcionar que nem no script abaixo, porém esse script só funciona se eu excluir aquela parte que está marcada, porém se eu excluir ela o tema do tumblr não funciona como deveria em celulares. Alguém sabe me dizer que tipo de conflito é esse e como posso resolver???
      <script type='text/javascript' src='http://space.fitterbiz.com/wp-includes/js/wp-embed.min.js?ver=4.9.10'></script> <script type="text/javascript" src="//downloads.mailchimp.com/js/signup-forms/popup/embed.js" data-dojo-config="usePlainJson: true, isDebug: false"></script> <script> function showMailingPopUp() { require( ["mojo/signup-forms/Loader"], function(L) { L.start({"baseUrl":"mc.us14.list-manage.com","uuid":"7f359a9e538573b27c9e39820","lid":"e64535f817"}) } ); document.cookie = 'MCPopupClosed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;'; document.cookie = 'MCPopupSubscribed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;'; } document.getElementById("open-popup").onclick = function() {showMailingPopUp()}; </script> <a onclick="showMailingPopUp(); return false;" id="open-popup" style="cursor:pointer">Subscribe!</a> <!-- quando coloco isso não funciona --> <script src="https://static.tumblr.com/xlsgtjb/mt5o305mz/scripts.min.js" charset="UTF-8"></script> <!-- quando coloco isso não funciona -->
    • Por Marxrj
      Bom pessoal, tenho um newsletter bem simples, porém funciona com o disparado da hospedagem sem problemas.
      Mas estou tendo dois problemas, o primeiro é que ao chegar o email no destinatário, o assunto chega com o erro de acentuação, porém na mensagem não tem o erro.
      E o segundo e na mensagem que não pula a linha.
       
      No assunto mando para testar: Olá Você e chega Ol&aacute;? Voc&ecirc;
      Já na mensagem eu escrevo: 
      Olá Você
      Como vai?
      E chega sem o pulo da linha, porém sem erro de acentuação:  Olá você\r\nComo vai?
       
      O trecho do arquivo para quem puder dar uma bola
       
      <td width="100%" valign="center"> <p align="center"><font size=3><b>Aviso por email</b></p> <? if ($_POST[acao] == "enviar") { $sql = $sqli->query("SELECT * FROM clientes"); $i = 1; while ($coluna = mysqli_fetch_array($sql)) { $headers = "Content-type: text/html; charset=iso-8859-1\r\n"; $headers.= "From:$_POST[form_nome]<$_POST[form_email]>"; if (@mail($coluna[email],$_POST[form_assunto],$_POST[form_mensagem],$headers)) { echo "$i. <font color=blue><font size=3>$coluna[email] - $coluna[cliente] - enviado</font><br>"; } else { echo "$i. <font color=red><font size=4>$coluna[email] $coluna[cliente] - $coluna[cpf]- falhou</font><br>"; } flush(); $i++; } ?><p align="center"><a href="<?=$_SERVER['SCRIPT_NAME']?>">Voltar</a></p> <? } else { ?><p align="center"><font size=3><b>O sistema possui <? echo mysqli_num_rows($result = $sqli->query("SELECT * FROM clientes"))?> Clientes cadastrados no banco de dados.</p> <form name="form1" method="post" action="<?=$_SERVER['SCRIPT_NAME']?>"> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFE4C4"> <div class="container"> <form> <div class="row"> <div class="col-25"> <label><b>De:</b></label> </div> <div class="col-75"> <input name="form_nome" id="form_nome" value="" placeholder="Seu nome" size="30"> </div> </div> <div class="row"> <div class="col-25"> <label><b>Email:</b></label> </div> <div class="col-75"> <input name="form_email" id="form_email" value="" placeholder="Seu email" size="30"> </div> </div> <div class="row"> <div class="col-25"> <label><b>Assunto:</b></label> </div> <div class="col-75"> <input name="form_assunto" id="form_assunto" value="" placeholder="Seu assunto" size="30"> </div> </div> <div class="row"> <div class="col-25"> <label><b>Aviso:</b></label> </div> <div class="col-75"> <textarea name="form_mensagem" type="text" id="form_mensagem"></textarea> </div> </div> <tr align="right"> <td colspan="2"><input name="acao" type="hidden" id="acao" value="enviar"> <input type="submit" name="Submit" value="Enviar Mensagem"></td> </tr> </table> </form>  
    • Por programador_30
      Senhores,

      Boa tarde!


      Desde já peço desculpas pois não sei ao certo se meu problema é em JavaScript, PHP ou ambos.
      Sou relativamente novato em desenvolvimento web e infelizmente não domino muito bem as linguagens PHP e JavaScript.

      Recentemente peguei um cliente para desenvolver o site da empresa dele. Optamos pelo uso de um template pronto para facilitar todo o trâmite, tanto por questões de tempo quanto financeiramente para ele.

      No template que adquirimos existe um campo onde os clientes podem se cadastrar para receber a newsletter da empresa. É justamente aí que está a minha dúvida.

      Eu preciso que este campo envie o endereço de e-mail digitado para o e-mail do cliente e que, após a digitação e envio, apareça um texto informando que a mensagem foi enviada com sucesso e que o campo volte a ficar em branco (no caso volte a mensagem solicitando que o usuário insira um endereço de e-mail para se cadastrar).

      No código do template há uma indicação apontando para um script que não existia. Então apenas copiei um outro já existente e renomeei para o arquivo indicado. Neste caso gostaria de editá-lo para que ficasse funcional mas como não tenho conhecimento suficiente, busco informações com quem já domina a linguagem.

      Vamos aos códigos já existentes:

               Trecho do HTML do template onde está o formulário:


      <div class="col-lg-3 col-md-3 col-sm-6 newletter">

                      <h1> Newsletter</h1>

                      <div class="line2"></div>

                                      <div class="searchform">

                                                     <p>Inscreva-se para receber nossa newsletter</p>

                                                      <form id="search" method="post" action="js/contact/news-form.js" name="ContactForm">

                                                                    <input type="email" class="s" id="s" name="email_newsletter" placeholder="insira seu email......">

                                                                     <button type="submit" class="sbtn"><i class="fa fa-chevron-right"></i></button>

                                                     </form>

                                      </div>

      </div>

               Código do arquivo JS (news-form.js)
      $(function(){

                      $("#ContactForm").submit(function(){

                                     $("#submitf").value='Please wait...';

                                    

                                     $.post("process.php?send=comments", $("#ContactForm").serialize(),

                                     function(data){

                                                     if(data.frm_check == 'error'){

                                                    

      $("#message_post").html("<div class='errorMessage'>ERROR: " + data.msg + "!</div>");

                                                                     document.ContactForm.submitf.value='Resend >>';

                                                                     document.ContactForm.submitf.disabled=false;

                      } else {

                                     $("#message_post").html("<div class='successMessage'>Your message has been sent successfully!</div>");

                                     $("#submitf").value='Send >>';

                                                                     }

                                     }, "json");

                                    

                                     return false;

                                    

                      });

      });


       
      Resumindo:

      No HTML: Preciso que o formulário tenha apenas o campo de email para cadastro na newsletter e que após o envio surja uma mensagem confirmando o sucesso no envio.

      No JS: Preciso que o código do arquivo seja compatível a essas ações.


       
      Desde já agradeço a ajuda de todos.

      Forte abraço,

      Programador_30

×

Informação importante

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