Ir para conteúdo

Criando Um Newsletter


Nostradamus

Posts Recomendados

Este tutorial ensina a fazer um newsletter que, pra quem não sabe é um sistema ao qual o user cadastra seu e-mail e periódicamente recebe notícias do site pelo e-mail.

Esse sistema pode ser usado em OTServers por exemplo.

Primeiramente vamos fazer um form para o newslatter:

 

<form  action="<?php echo"$PHP_SELP";?>"method="POST"><table border="1" width="100%"><tr> <td>nome:</td> <td><input type="text" name="nome" size="20"></td></tr><tr> <td> </td> <td><input type="text" name="e-mail" size="20"></td></tr></table><p align="center"><input name="funcao" type="radio" vallue="1">Adicionar <input name="funcao" type="radio"vallue="e">Remover</p><p align="center"><input type="submit" value="Enviar"></p></form>// $PHP_SELF ,  o mesmo que a pagina atual

 

Agora vamos criar uma tabela no banco de dados MySQL para o newslatter:

 

CREATE TABLE news ( id bigint(20) unsigned NOT NULL auto_increment, nome varchar(60) NOT NULL default 'sem nome', email varchar(150) NOT NULL default 'sem e-mail', PRIMARY KEY  (id), UNIQUE KEY id (id,email)) TYPE=MyISAM;

 

Agora vamos trabalhar com o formulário enviando dados para a tabela certa:

 

<? // conecta ao banco de dados$conexao=$mysql_connect("server","user","password");// seleciona o base de dados$db=mysql_select_db("banco",$conexao);// coleta as informações do formulário$nome=$_POST['nome'];$email=$_POST['email'];$fu=$_POST['func'];// verifica se a fução é 1, se for adiciona n bancoif($fu==1){// verifica o tamanho do e-mail para ver se é valido    if(strlen($email)>=8 &&strlen($email) <=150){     $email_tam_valido=true;     //conecta a base de dados     $ss=mysql_query("SELECT * FROM new WHERE email='$email'");     $ma=mysql_fetch_row($ss);     // verificar se o e-mail já existe   if($email!==$ma[2]){       $mail_certo=true;   }else{       $mail_certo=false;       $erros[]="E-mail ja existe!!!";   }   //verifica se o e-mail é válido     if (eregi("^[-!#$%&\*+\\./0-9=?A-Z^_`a-z{|}~]+.@.[-!#$%&\*+\\/0-9=?A-Z^_`a-z{|}~]+\..[-!#$%&\*+\\./0-9=?A-Z^_`a-z{|}~]+$", $email)) {   $mail=true;     }else{   $mail=false;   $erros[]="Email Inválido";   }     }else{     $email_tam_valido=false;     $erros[]="Email deve ser de 8 a 150 caracteres"; } // virifica se todos acima esta ok   if($email_tam_valido&&$mail_certo&&$mail){   // verifica de os campos não estão em brancoif(!empty($nome)||!empty($email)){// faz a query com o banco para insersão de dados$sql=mysql_query("INSERT INTO new (nome,email) VALUES ('$nome','$email')");// retorna a mensagem de sucesso se deu tudo certo($sql)? print("<div align=\"center\">sucesso ao inserir $nome</div>") : print("Erro ao inserir   $nome ");}}else{// cria uma array com as mensagens de erro e exibindo no navegador caso não passe pela checagemforeach($erros as $msg){echo"<div align=\"center\">$msg</div>";}}// verifica se a função é 2 para deletar o registro especificado}elseif($fu==2){// faz a query para deletar o registro do banco$sql=mysql_query("DELETE FROM new WHERE email='$email'");// retorna a mensagem  de erro ou sucesso($sql)? print("<div align=\"center\">Deletado com Sucesso!!</div>") : print("E-mail não Existe");}?>

 

Bom, deu para ter uma base.

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 2 weeks later...
×
×
  • Criar Novo...