Sistema de Newsletter - Parte 3 Autor: Marcelo Souza Ramos Data de publicação: 04/04/2007 Parte do Tutorial: 1 Quantidade de Visualização: 2893

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. 2. 3. 4. 5. Pressione Ctrl + N Selecione a guia Geral Na opção Categoria selecione a opção Pagina Dinâmica Na opção Pagina Dinâmica selecione a opção PHP Clique em Criar

6. Na barra de inserir clique na guia PHP 7. Agora clique no botão 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

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 name="select" size="1"> <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 name="select" size="1"> <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 name="select" size="1">

<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 name="select" size="1"> <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