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.














