RSS
PHP

Aprenda a fazer um sistema de newslleter com admin passo-a-passo

imprimir
Publicado em: 27/07/2007  |  PHP  |  Visualizações: 3.422  |  4 Comentário(s)
Bom dia, boa noite, boa madrugada!
Hoje irei ensinar a você, isso mesmo especialmente a você como se fas um sistema de newslleter básico para você colocar em seu site!

Vamos lá?

Primeiramente vamos criar nosso banco de dados!
Crie um bd chamado newsl e um user tbm chamado newsl, e coloca permissões All.

Depois nesse bd excute o seguinte código sql para criarmos nossas tabelas em que guardaram nossos dados!


CREATE TABLE `emails` (
  `id` int(99) NOT NULL auto_increment,
  `nome` varchar(255) NOT NULL default '',
  `email` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
);


acima criamos a tabela emails com o campo id como chave principal e auto-increment, ou seja ele automaticamente ira adicionar um novo numero sem repetir a cada cadastro.
agora vamos a festa!

vou montar um pequeno "mapa" para mostrar a estrutura das pastas no se uservidor, vamos  supor que vc colocou o sistema na pasta newslleter.

-- ./newslleter
index.php
cadastra.php
config.php

-- ./admin
index.php
envia.php


vamos criar o arquivo config.php

<?php
$con=mysql_connect("localhost","usuario","senha");
mysql_select_db("banco_de_dados", $con);
?>


pronto criamos um arquivo de conexão com o banco de dados !

agora vamos ao index.php

<html>
<head>
<title>Minha Newslleter</title>
</head>

<body>
<form name="form1" method="post" action="cadastra.php">
  <p>Seu nome:
    <input name="nome" type="text" id="nome" size="50" maxlength="50">
    <br>
    <br>
    Seu email:
    <input name="email" type="text" id="email" size="50" maxlength="50">
  </p>
  <p>
    <input type="submit" name="Submit" value="Cadastrar">
  </p>
</form>
</body>
</html>


pronto na index.php criamos um formulario básico, sem design algum.

agora vamos criar o arquivo cadastra.php que será responsável de colher os dados enviados por post do index.php e colocar no bd!

<?php
include("config.php"); //incluimos o arquivo de configuração

$nome = $_POST[nome]; //colhemos os  dados da variavel nome
$email = $_POST[email]; //colhemos os  dados da variavel email

$sql=mysql_query("insert into emails (nome,email) values ('$nome','$email')") or die(mysql_error()); //inserimos os dados em nosso bd

echo "<script>
alert('Seu email foi inserido em nosso banco de dados!');top.location.href='index.php';
</script>";
?>


pronto todos os arquivos do diretório "root" da pasta newslleter foram criados!

vamos criar os arquivos da pasta admin que fica dentro da pasta newslleter

index.php
<html>
<head>
<title>Enviar Newslleter</title>
</head>

<body>
<form name="form1" method="post" action="envia.php">
  <p>Assunto:
    <input name="assunto" type="text" id="assunto" size="50" maxlength="50">
    <br>
    <br>
    Mensagem:
    <textarea name="msg" cols="50" rows="10" wrap="VIRTUAL" id="msg"></textarea>
  </p>
  <p>
    <input type="submit" name="Submit" value="Enviar">
  </p>
</form>
</body>
</html>


criamos um formulário básico para você escrever o assunto e a mensagem da newslleter

agora vamos fazer o arquivo envia.php
<?php
include("config.php");

$assunto = $_POST[assunto]; //aqui pegamos a variavel assunto
$msg = $_POST[msg]; //aqui pegamos a variavel msg

$remetente = "seu nome ou seja o nome do remetente"; //aqui configuramos uma variavel para guardar o nome do remetente
$r_email = "seu email ou seja o email do remetente"; //a mesma coisa da de cima porém guarda o email

$sql=mysql_query("select * from emails order by nome asc"); //aqui selecionamos todos os dados da tabela emails em orderm dos nomes em crescente, ou seja ed a - z
while($ln=mysql_fetch_array($sql)){
mail("$ln[email","
Olá $ln[nome] , você esta recebendo essa mensagem pois se cadastrou em nossa newslleter!

$msg","FROM: $remetente <$r_email>"); //usamos a função mail para enviar a mensagem

echo "$ln[nome] ( $ln[email] ) - enviado com sucesso!!!"; //aqui damos uma mensagem de sucesso na tela a cada email enviado
}
?>


Bom pessoal viu que fácil? Isso é muito útil!
Daí você pode adaptar, como eu digo, por favor não copie os códigos e cole e salve, leia todo o tutorial digite todos os códigos num bloco de notas para treinar!

Ahn e outra coisa se for copiar esse tutorial coloque meus créditos, pois da trabalho fazer um artigo desse e depois alguem copia e nem reconhece meu esforço!!!

Ahn agora meus artigos terão oferecimento aos meus amigos mais chatos do msn e ao mesmo tempo mais legais ^^:

Tutorial oferecido para:  ' Bielzim ^^


Ahn se tiver algum erro me avisem, pois nem testei ^^


Até a próxima!!!

Direitos autorais
====
Igor Diniz - http://blog.brlocal.com
http://www.hospedameusite.com.br/
====



Links Patrocinados

 interatividade
versão para impressão envie por e-mail 4 Comentário(s) comentários compartilhe
 
Preencha o formulário para comentar:
Nome:*

E-mail:* (não será exibido)

Site: (http://)

Comentário:*

Deseja receber os comentários no e-mail?

Anti-spam: (nova imagem)





Igor

Publicado em: 27/07/2007 - 08:19

comente, cada comentário é um incetivo a minha mente a criar novos artigos!

 

Robson Cavalcante

Publicado em: 31/07/2007 - 11:26

Prezados bom dia. Não é uma crítica comum mais pode ser construtiva. Vamos lá: Todo servidor exige um tempo para envio de e-mails em massa, tipo 30 e-mails para 5 segundos, ou seja, a cada 30 e-mails enviados, dar o prazo de 5 segundos para enviar uma nova remessa. Muitos sistemas na Web apresentam a mesma linha criada acima pelo Igor, porém funcionam quando o número de e-mails é pequeno, tipo 50 e-mails no máxima. Imaginem um volume de 5000 e-mails para mais. Por lei e por programação os servidores com o sistema acima se perdem e deixam de enviar os e-mails, tornando o processo inválido. A grande vantagem e implementar os prazos de tempo é que primeiro, você não corre o risco de derrubar o servidor e ser prezo ou segundo, cair na lista negra e ser prezo rsrsr ou terceiro, não enviar nada porque o servidor perde o tempo de espera e resposta e cai ou até o quarto: cadê a confirmação de inserção de e-mails que pela lei é obrigatório o envio para o e-mail do usuário cadastrado? . Sugiro o pessoal ajustar os sistemas, tornando-os mais próximos da realidade, ou seja, ensinando da maneira correta o funcionamento para os leigos. Ensinar errado só colabora que façamos a cada vez mais errado, sem pensar nas consequências. Para uma boa leitura sobre enio de e-mails em massa, sugiro: http://antispam.br/ . este é o principal portal de informações referente a envio de Spam e e-mails pela Web. Grande abraço e por favor, não me levem a mal, já passei mals bocados por este processo.

 

Igor

Publicado em: 31/07/2007 - 12:18

meu caro o sr leu todo o tutorial com atenção, eu disse um tutorial simples eu s estou dandoó uma base para a pessoa aprender! esse negócio de spam eu sei, e o sistema funciona corretamente com milhares de emails, porém que demora alguns minutos. aqui meu objetivo é ensinar para pessoas novatas que estão aprendendo , não para aqueles espertos.

 

Marcelo

Publicado em: 28/10/2008 - 02:12

bom igor como vc msm disse que aqui é de inicante.. aqui vou eu com minha pergunta de inicante. Crie um bd chamado newsl e um user tbm chamado newsl, e coloca permissões All. o bd é tranquilo...mas o user e a permissão como crio pelo phpadmin e agora? =)

 

Autor


Igor Diniz Igor Diniz
Eu sou www.igordiniz.com.br :D O mais bonito de todos os colunistas da Oficina da Net ;)
» Site do colunista

Todas as matérias de Igor Diniz



Links Patrocinados

Mais populares

Matérias relacionadas

© 2005 - 2008 - Oficina da Net - v 4.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.