Ir para conteúdo
Fórum CódigoFonte.net
Igor Diniz

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

Recommended Posts

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!

SQL:

1.

CREATE TABLE `emails` (

2.

`id` int(99) NOT NULL AUTO_INCREMENT,

3.

`nome` varchar(255) NOT NULL DEFAULT '',

4.

`email` varchar(255) NOT NULL DEFAULT '',

5.

PRIMARY KEY (`id`)

6.

);

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:

1.

<?php

2.

$con=mysql_connect("localhost","usuario","senha");

3.

mysql_select_db("banco_de_dados", $con);

4.

?>

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

agora vamos ao index.php

HTML:

1.

<html>

2.

<head>

3.

<title>Minha Newslleter</title>

4.

</head>

5.

6.

<body>

7.

<form name="form1" method="post" action="cadastra.php">

8.

<p>Seu nome:

9.

<input name="nome" type="text" id="nome" size="50" maxlength="50">

10.

<br>

11.

<br>

12.

Seu email:

13.

<input name="email" type="text" id="email" size="50" maxlength="50">

14.

</p>

15.

<p align="center">

16.

<input type="submit" name="Submit" value="Cadastrar">

17.

</p>

18.

</form>

19.

</body>

20.

</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:

1.

<?php

2.

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

3.

4.

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

5.

$email = $_POST; //colhemos os dados da variavel email

6.

7.

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

8.

9.

echo "<script>

10.

alert('Seu email foi inserido em nosso banco de dados!');top.location.href='index.php';

11.

</script>";

12.

?>

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:

1.

<html>

2.

<head>

3.

<title>Enviar Newslleter</title>

4.

</head>

5.

6.

<body>

7.

<form name="form1" method="post" action="envia.php">

8.

<p>Assunto:

9.

<input name="assunto" type="text" id="assunto" size="50" maxlength="50">

10.

<br>

11.

<br>

12.

Mensagem:

13.

<textarea name="msg" cols="50" rows="10" wrap="VIRTUAL" id="msg"></textarea>

14.

</p>

15.

<p align="center">

16.

<input type="submit" name="Submit" value="Enviar">

17.

</p>

18.

</form>

19.

</body>

20.

</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:

1.

<?php

2.

include("config.php");

3.

4.

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

5.

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

6.

7.

$remetente = "seu nome ou seja o nome do remetente"; //aqui configuramos uma variavel para guardar o nome do remetente

8.

$r_email = "seu email ou seja o email do remetente"; //a mesma coisa da de cima porém guarda o email

9.

10.

$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

11.

while($ln=mysql_fetch_array($sql)){

12.

mail("$ln[email","

13.

Olá $ln[nome] , você esta recebendo essa mensagem pois se cadastrou em nossa newslleter!

14.

15.

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

16.

17.

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

18.

}

19.

?>

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/

====

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

Tirado de :

http://blog.brlocal.com/2007/07/27/aprenda...-passo-a-passo/

espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor,

Sou iniciante em php.

Para ser sincero, é o primeiro tutorial seguindo.

Fiz tudo diretinho como você explicou, só que aparece

um erro no config.php:

Parse error: syntax error, unexpected T_VARIABLE in /home/sonardig/public_html/newsletter/config.php on line 3

Desculpa minha ignorância, mas gostaria de saber

o que devo colocar nos campos entre aspas das linhas

abaixo:

<?php

$con=mysql_connect("localhost","usuario","senha");

mysql_select_db("banco_de_dados", $con);

?>

Tentei encontrar qual o caminho do meu servidor para

encontrar o banco de dados, mas não está dando certo.

A mensagem de erro é:

Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'sonardig' (1) in /home/sonardig/public_html/newsletter/config.php on line 2

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/sonardig/public_html/newsletter/config.php on line 3

Warning: mysql_query() [function.mysql-query]: Access denied for user 'sonardig'@'localhost' (using password: NO) in /home/sonardig/public_html/newsletter/cadastra.php on line 5

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/sonardig/public_html/newsletter/cadastra.php on line 5

Access denied for user 'sonardig'@'localhost' (using password: NO)

Se alguém puder ajudar, agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor,

Sou iniciante em php.

Para ser sincero, é o primeiro tutorial seguindo.

Fiz tudo diretinho como você explicou, só que aparece

um erro no config.php:

Parse error: syntax error, unexpected T_VARIABLE in /home/sonardig/public_html/newsletter/config.php on line 3

Desculpa minha ignorância, mas gostaria de saber

o que devo colocar nos campos entre aspas das linhas

abaixo:

<?php

$con=mysql_connect("localhost","usuario","senha");

mysql_select_db("banco_de_dados", $con);

?>

Tentei encontrar qual o caminho do meu servidor para

encontrar o banco de dados, mas não está dando certo.

A mensagem de erro é:

Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'sonardig' (1) in /home/sonardig/public_html/newsletter/config.php on line 2

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/sonardig/public_html/newsletter/config.php on line 3

Warning: mysql_query() [function.mysql-query]: Access denied for user 'sonardig'@'localhost' (using password: NO) in /home/sonardig/public_html/newsletter/cadastra.php on line 5

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/sonardig/public_html/newsletter/cadastra.php on line 5

Access denied for user 'sonardig'@'localhost' (using password: NO)

Se alguém puder ajudar, agradeço!

<?php

$con=mysql_connect("localhost","usuario do bd","senha do bd");

mysql_select_db("nome do db", $con);

?>

entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

$con=mysql_connect("localhost","usuario do bd","senha do bd");

mysql_select_db("nome do db", $con);

?>

entendeu ?

Editado por RamonMS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampplite\htdocs\newslleter\admin\envia.php on line 28

deu um errinho aew... eh meu smtp q n tah configurado? se for me ajudem a configurar por favor!!!

PS: eu configurei o meu e-mail nos campos nescessários

Editado por ions

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai brother beleza mas deu um probleminha aqui ele até cadastra file porém na hora de enviar da uns errinhos.

do tipo:

Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/calccec/public_html/news/admin/envia.php on line 10

Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/calccec/public_html/news/admin/envia.php on line 10

Warning: include() [function.include]: Failed opening 'config.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/calccec/public_html/news/admin/envia.php on line 10

Warning: mysql_query() [function.mysql-query]: Access denied for user 'calccec'@'localhost' (using password: NO) in /home/calccec/public_html/news/admin/envia.php on line 15

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/calccec/public_html/news/admin/envia.php on line 15

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/calccec/public_html/news/admin/envia.php on line 16

O que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

#não encontrou o diretorio ou arquivo

Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/calccec/public_html/news/admin/envia.php on line 10

#não encontrou o diretorio ou arquivo

Warning: include(config.php) [function.include]: failed to open stream: No such file or directory in /home/calccec/public_html/news/admin/envia.php on line 10

#não encontrou o arquivo config.php

Warning: include() [function.include]: Failed opening 'config.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/calccec/public_html/news/admin/envia.php on line 10

#usuario ou senha estão incorretos

Warning: mysql_query() [function.mysql-query]: Access denied for user 'calccec'@'localhost' (using password: NO) in /home/calccec/public_html/news/admin/envia.php on line 15

#não conseguiu conectar no ip do seu banco de dados

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/calccec/public_html/news/admin/envia.php on line 15

#o array não retornou nada, basta ver os erros acima que vc vai saber porque hAEUheaUhueaEA

#se ele não conectou logo não conseguiu executar a query logo o array não existe

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/calccec/public_html/news/admin/envia.php on line 16

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, sei que o post é BEM antigo, mas ele me ajudou muito e eu queria tirar uma dúvida.

Vocês fala pra eu criar um index.php que tenha o form lá.

Eu usei o próprio form que eu fiz que está na minha página index.html e com o action direto no cadastr.php.

Está tudo certinho, sem nenhum pau na hora de validar e cadastrar.

O problema é que, quando ele aparece o alert falando da confirmação do cadastro, ele carrega a página index.php.

Como eu faço pra trocar essa função?

Eu queria que ele retornasse à página index.html.

Outra dúvida é, eu to tentando mandar o e-mail com a newsletter.

Ele diz que vai, aparece a confirmação.

Só que não chega o e-mail.

O que pode estar acontecendo?

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

<HTML>
<HEAD>
<TITLE>CADASTRO</TITLE>
</HEAD>
<BODY bgcolor="#000000">

<form method="POST" action="cadastro1.php">

<center><img src="logo.jpeg.png" border="0">

<center>

<h3><font color="#00FFFF">GRUPO ANÔNIMO SOCIAL SANTANA<BR>SEJA BEM VINDO!</font></h3>

<h1><font color="#00FFFF">VOLTADO PARA O SOCIAL</h1></font>

<table border="7">
<tr>
<td colspan="2"><center><h3><font color="#00FFFF">ENTRADA DE DADOS PARA O CADASTRO!!!</h3>
<b><i>DIGITE APENAS LETRAS MINÚSCULAS<BR>E SEM ESPAÇOS EM BRANCO.<BR>
(PREENCHIMENTO OBRIGATÓRIO)</i></b></center></font></td>
</tr>
<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**LOGIN:-</font></b>
<td><center><font color="#000000"></font>"><input type="text" name="login" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><font color="#00FFFF"><b><font color="#00FFFF">**SENHA:</font></b>
<td><center><font color="#000000"><input type="password" name="senha" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**CONFIRME A SENHA:</font></b>
<td><center><font color="#000000"><input type="password" name="confirmasenha" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td colspan="2"><center><h3><font color="#00FFFF">INFORMAÇÕES COMPLEMENTARES!!!</h3>
<b><i>(OS CAMPOS COM "**" TEM PREENCHIMENTO OBRIGATÓRIO).<BR>
(PREENCHIMENTO OBRIGATÓRIO)</i></b></center></font></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**NOME:</font></b>
<td><center><font color="#000000"><input type="text" name="nome" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**MATSIND:</font></b>
<td><center><font color="#000000"><input type="text" name="matsind" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**REGOGMO:</font></b>
<td><center><font color="#000000"><input type="text" name="regogmo" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**ENDEREÇO:</font></b>
<td><center><font color="#000000"><input type="text" name="endereco" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**COMPLEMENTO:</font></b>
<td><center><font color="#000000"><input type="text" name="complemento" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**BAIRRO:</font></b>
<td><center><font color="#000000"><input type="text" name="bairro" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**MUNICIPIO:</font></b>
<td><center><font color="#000000"><input type="text" name="municipio" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**ESTADO:</font></b>
<td><center><font color="#000000"><input type="text" name="estado" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**CEP:</font></b>
<td><center><font color="#000000"><input type="text" name="cep" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">EMAIL:</font></b>
<td><center><font color="#000000"><<input type="text" name="email" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">TEL:</font></b></td>
<td><center><font color="#000000"><input type="text" name="tel" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">**CEL:</font></b>
<td><center><font color="#000000"><input type="text" name="cel" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td>&nbsp;<center><b><font color="#00FFFF">NEXTELID:</font></b>
<td><center><font color="#000000"><input type="text" name="nextelid" size="50" maxlength="50"></font></center></td>
</tr>

<tr>
<td colspan="2"><center><h3><font color="#00FFFF">PARA CONFIRMAR O ENVIO DE DADOS CLIQUE EM "ENVIAR DADOS"</h3>
<b><i></i></b></center></font></td>
</tr>

<tr>
<td colspan="2"><center>
<input type="reset" value="-LIMPAR DADOS-">
&nbsp;&nbsp;&nbsp;
<input type="submit" value="-ENVIAR DADOS-">
</center></td>
</tr>

</table>
</form>
</center>

</BODY>
</HTML>

_______________________________________________________________________________________________________

ESTE ESTA FUNCIONANDO.

___________________________________________________________________________________________________________

<HTML>
<HEAD>
<TITLE>INCLUINDO NO BANCO DE DADOS.</TITLE>
</HEAD>
<BODY bgcolor=#0000FF>
<center><img src="logo.jpeg.png" border="0">
<center>
<h3><font color="#00FFFF">GRUPO ANÔNIMO SOCIAL SANTANA<BR>SEJA BEM VINDO!</font></h3>
<h1><font color="#00FFFF">VOLTADO PARA O SOCIAL</h1></font>

<?

$_login = $_POST['login'];
$_senha = $_POST['senha'];
$_confirmasenha = $_POST['confirmasenha'];
$_nome = $_POST["nome"];
$_matsind = $_POST['matsind'];
$_regogmo = $_POST['regogmo'];
$_endereco = $_POST['endereco'];
$_complemento = $_POST['complemento'];
$_bairro = $_POST['bairro'];
$_municipio = $_POST["municipio"];
$_estado = $_POST['estado'];
$_cep = $_POST['cep'];
$_email = $_POST['email'];
$_tel = $_POST['tel'];
$_cel = $_POST['cel'];
$_nextelid = $_POST['nextelid'];

if ($_login == ""&& $_senha == "" && $_confirmasenha == "" && $_nome == "" && $_matsind == "" && $_regogmo == "" &&
$_endereco == "" && $_complemento == "" && $_bairro == "" && $_municipio == "" && $_estado == "" && $_cep == ""&&
$_email == "" && $_tel == "" && $_cel == "" && $_nextelid == "")
{
echo "EXISTE(M) CAMPO(S) DE PREENCHIMENTO OBRIGATÓRIO EM BRANCO,<BR>
INFELIZMENTE TERÁ QUE VOLTAR PARA PREENCHÊLO(S).";
echo "<a href=:\"cadastro.php\">CLIQUE AQUI PARA TENTAR NOVAMENTE</a>";
}

?>
</center>
</BODY>
</HTML>

________________________________________________________________________________________________________

if ($_login == ""&& $_senha == "" && $_confirmasenha == "" && $_nome == "" && $_matsind == "" && $_regogmo == "" &&
$_endereco == "" && $_complemento == "" && $_bairro == "" && $_municipio == "" && $_estado == "" && $_cep == ""&&
$_email == "" && $_tel == "" && $_cel == "" && $_nextelid == "")
{
echo "EXISTE(M) CAMPO(S) DE PREENCHIMENTO OBRIGATÓRIO EM BRANCO,<BR>
INFELIZMENTE TERÁ QUE VOLTAR PARA PREENCHÊLO(S).";
echo "<a href=:\"cadastro.php\">CLIQUE AQUI PARA TENTAR NOVAMENTE</a>";

_______________________________________________________________________________________________________

AQUI ESTÁ COM APRENSENTANDO ERRO AO EXUTAR (echo "<a href=:\"cadastro.php\">CLIQUE AQUI PARA TENTAR NOVAMENTE</a>";)

________________________________________________________________________________________________________

POR FAVOR PEÇO QUE ALGUÉM ME AJUDE E ME MOSTRE EM QUE ESTOU ERRANDO.

CONTATO:

[email protected]

AGUARDO RESPOSTA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×
×
  • Criar Novo...