Tenho visto muitas pessoas em forum, bate papo e outros,tendo dificudade
com News letter.
Com base nisso resolvi escrever um Tutorial bem simples para que vocês possam
entender como funciona isso...
Mãos a obra ...
-----------------ATENÇÃO------------------ | Tudo que começar com duas | | barras " //" é comentário sobre o | | Tutorial "//comentários" | | | -----------------------------------------------Primeirmente vamos vazer uma form para o news letter...
-----------FORMULÁRIO NEWS LETTER ------------- <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 --------------------FIM-------------------------Agora vamos criar um tabela no banco de dados mysql para o news letter
----------------TABELA MYSQL PARA O NEWS------------- 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; --------------------------FIM-------------------------------
agora vamos trabalhar com o formulário enviando dados para a tabela certo
<? // 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 banco if($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 branco if(!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 checagem foreach($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"); } ?>
tudo certo até aqui... ai vc tem um estrutura para colocar no seu site...
Em breve estarei deisponibilizando como enviar mensagens para todos os e-mais
os e-mails cadastrados no banco
Edição feita por: Squall Robert, 30/01/2009, 16:07.