Sistema de Newsletter – Parte 3

Coluna Dreamweaver – Sistema de Newsletter – Parte 3

Introdução

Nessa penúltima parte vamos criar o formulário para envio da newsletter, que vai ter uma lista com todos os endereços de e-mails individuais e uma opção para enviar à todos simultaneamente. Para enviar e-mail em HTML basta você editar o código em seu editor e colar no campo de mensagem

Pré-requisito

Conhecimentos básico em PHP e MYSQL
Leitura das partes anteriores

Conteúdo

Vamos criar as páginas que serão utilizada nesta parte e na próxima parte.

  1. Pressione Ctrl + N
  2. Selecione a guia Geral
  3. Na opção Categoria selecione a opção Pagina Dinâmica
  4. Na opção Pagina Dinâmica selecione a opção PHP
  5. Clique em Criar
    Criar Página
  6. Na barra de inserir clique na guia PHP
  7. Agora clique no botão Bloco de código

    Bloco de Código

  8. Salve com o nome de index.php, com base nesses mesmo processos crie a página enviar_newsletter.php que será utilizada na proxima parte

Agora vamos abrir a página index.php e criar o formulário para envio da newsletter.

  1. Na barra inserir clique na guia Formulários
  2. Clique no botão Formulário

    Botão Formulário

  3. No Inspetor de propriedade coloque como ação enviar para a página enviar_newsletter.php, e verifique se o método está como POST

  4. Agora vamos criar a lista com a opção de envio para todos os e-mails simultaneamente, e somente no final e que vamos acrescentar os endereços de e-mail individuais. Então clique no botão Menu de lista, para adicionar uma lista.

  5. No Inspetor de propriedade coloque como nome do Lista/Menu msg_para
  6. Clique no botão Valores da Lista

  7. Na caixa de configuração dos Valores da Lista clique no Identificador do Item e digite todos e no Valor também digite todos
  8. Clique em OK

  9. Vamos adicionar um campo para preenchimento do assunto da mensagem, clique no botão Campo de texto para adicionar o campo de texto.

  10. No Inspetor de propriedade coloque o nome do campo de texto como msg_assunto

  11. Agora vamos adicionar uma caixa de texto, onde será escrita a mensagem. Clique no botão Área de texto

  12. No Inspetor de propriedade coloque o nome da Área de texto como mensagem

  13. Clique no botão adicionar botão

Pronto o formulário ja foi criado, mais ainda não está pronto. Se você estiver no modo de visualização do projeto mude para o modo de visualização do código. e verifique se o código gerado é igual.

<form name=”form1″ method=”post” action=”enviar_newsletter.php”>
<select size=”1″ name=”msg_para” >
<option value=”todos”>todos</option>
</select>
<input name=”msg_assunto” type=”text” id=”msg_assunto”>
<textarea name=”mensagem” id=”mensagem”></textarea>
<input type=”submit” name=”Submit” value=”Enviar”>
< /form>
Agora vamos fazer com que na lista de opções seja mostrado todos os endereços de e-mail que estão no banco de dados, para que você possa enviar a mensagem para destinarios específicos.
Então vamos criar uma conexão com banco de dados para buscar esses e-mail e depois através do comando de repetição while mostrar todos os e-mails que estão cadastrado. Mais para organizar todos essse endereços de e-mails de uma forma ordenada vamos utilizar uma array, para fazer a array vamos utilizar o comando mysql_fetch_array que coloca o resultado da consulta do banco de dados numa array automaticamente, e com o comando while imprimir todo o conteúdo na lista de opções.
Então vamos incluir a página config.php que contém a configuração para conexão com o banco de dados e criar uma variável responsável pela consulta no banco de dados ($sql) e declarar que seu valor será (=) um comando para se conectar no banco de dados (mysql_query) e selecionar todas as colunas (SELECT *) da tabela (FROM) releases e filtrar (WHERE) apenas com os e-mail ativos (ativo = ‘s’).
Depois vamos iniciar a área de repetição com o comando while que vai repetir todos os endereços de e-mails, mais para isso devemos criar uma variável para armazenar esses endereços ($lista) e declarar que seu valor será o comando mysql_fetch_array que coloca o resultado da consulta ($sql) em uma array. Logo em seguida vamos criar mais uma variável que vai mostrar o endereço de e-mail ($email) e declarar que seu valor será igual (=) a um e-mail que está na variável ($lista["email"]) que armazena a lista com todos os endereços, e conforme o comando while for repetindo os dados ele vai mostrar um endereço de e-mail diferente em cada loop até que todos os e-mail sejam mostrado.
Dentro da tag select e após a tag </imput> vamos adicionar um Bloco de código para PHP. Na barra inserir clique na guia PHP e clique no botão Bloco de código, e dentro do bloco e adicionar os comandos.

<form name=”form1″ method=”post” action=”enviar_newsletter.php”>
<select size=”1″ name=”msg_para” >
<option value=”todos”>todos</option>
/* Adicionar todos os endereços de e-mail na lista */
<?php
include(“config.php”);
$sql = mysql_query(“SELECT * FROM newsletter WHERE ativo = ‘s’ AND tipo = ‘noticia’”);
while($lista = mysql_fetch_array($sql)){
$email = $lista["email"];
?>
</select>
<input name=”msg_assunto” type=”text” id=”msg_assunto”>
<textarea name=”mensagem” id=”mensagem”></textarea>
<input type=”submit” name=”Submit” value=”Enviar”>
< /form>

Agora fora do bloco de código para php vamos criar mais um tag imput com o valor do item sendo a variável que contém o endereço de e-mail e seu valor também sendo a variável que armazenar o e-mail.

<form name=”form1″ method=”post” action=”enviar_newsletter.php”>
<select size=”1″ name=”msg_para” >
<option value=”todos”>todos</option>
/* Adicionar todos os endereços de e-mail na lista */
<?php
include(“config.php”);
$sql = mysql_query(“SELECT * FROM newsletter WHERE ativo = ‘s’ AND tipo = ‘noticia’”);
while($lista = mysql_fetch_array($sql)){
$email = $lista["email"];
?>
/* Imprime todos os e-mail na lista */
<option value=”<?=$email?>”><?=$email?></option>
</select>
<input name=”msg_assunto” type=”text” id=”msg_assunto”>
<textarea name=”mensagem” id=”mensagem”></textarea>
<input type=”submit” name=”Submit” value=”Enviar”>
< /form>
E para finalizar vamos depois da tag imput que acabamos de criar fechar a área de repetição

<form name=”form1″ method=”post” action=”enviar_newsletter.php”>
<select size=”1″ name=”msg_para” >
<option value=”todos”>todos</option>
/* Adicionar todos os endereços de e-mail na lista */
<?php
include(“config.php”);
$sql = mysql_query(“SELECT * FROM newsletter WHERE ativo = ‘s’ AND tipo = ‘noticia’”);
while($lista = mysql_fetch_array($sql)){
$email = $lista["email"];
?>
/* Imprime todos os e-mail na lista */
<option value=”<?=$email?>”><?=$email?></option>
/* Fim da area de repetição */
<?php } ?>
</select>
<input name=”msg_assunto” type=”text” id=”msg_assunto”>
<textarea name=”mensagem” id=”mensagem”></textarea>
<input type=”submit” name=”Submit” value=”Enviar”>
< /form>

Considerações Finais

Na próxima parte que é a ultima vamos criar os comando que farão o envio da newsletter. Qualquer comentário que vocês deixarem será bem vindo. Deixem seus pedidos de tutorias para as próximas colunas clicando aqui
Autor: Marcelo Souza Ramos – Colunista Dreamweaver do Portal MXSTUDIO
Qualquer dúvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso fórum

Escrito por Marcelo Ramos on abril 4, 2007. Arquivado em Dreamweaver. Você pode seguir as respostas a esse artigo pelo RSS 2.0. Você pode deixar respostas para esse artigo

2 respostas a Sistema de Newsletter – Parte 3

  1. Desculpe não consegui entender qual é o código final, pode me enviar por e-mail o código final?
    Se pudesse me mandar os arquivos prontos de todos os arquivos ficaria muito grato.

    Desde já muito obrigado e parabens pela iniciativa.

  2. Mto bacana, porem não tem a parte final!
    Poderia me passar por email os arquivos?

    Abraço e parabéns pelo tutorial!

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>