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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...

×
×
  • Criar Novo...