Ir para conteúdo



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


  • Por favor, faça o login para responder
14 respostas neste tópico

#1 Igor Diniz

Igor Diniz
  • Membros
  • 427 posts

Postado 14 August 2007 - 09:48 PM

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[email]; //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[email] ) - 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!
Porque acessar http://www.igordiniz.com.br ?!?

Hospeda Meu Site
Hospede agora e tenha um super desconto em qualquer plano!
Use o código promocional codigofonte
Saiba Mais!!!


MMMMMMMMMMMMMMM
M___MMMMMMMMM__MM
M____MMMMMMM____MM
M____MMMMMMM____MM
M__M__MMMMM__M__MM
M__M____MMM___M__MM
M__MMM______MMM__MM
M__MMMMMMMMMM__MM
MMMMMMMMMMMMMMMMSUPERMODERADOR



#2 Higor.Cesar

Higor.Cesar
  • Membros
  • 152 posts

Postado 15 August 2007 - 06:55 AM

cara, boa iniciativa..

#3 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 15 August 2007 - 07:20 AM

Achei 1 erro

mail("$ln[email","

o correto

mail("$ln[email]","

Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#4 Igor Diniz

Igor Diniz
  • Membros
  • 427 posts

Postado 15 August 2007 - 02:08 PM

QUOTE(kinzinho @ Aug 15 2007, 07:20 AM) Visualizar Post

Achei 1 erro

mail("$ln[email","

o correto

mail("$ln[email]","

rsrs isso acontece xD !!!
pq fizuamcoluna pro oficinadanet e peguei la dai la o bbcode deles fas um rolo...
Porque acessar http://www.igordiniz.com.br ?!?

Hospeda Meu Site
Hospede agora e tenha um super desconto em qualquer plano!
Use o código promocional codigofonte
Saiba Mais!!!


MMMMMMMMMMMMMMM
M___MMMMMMMMM__MM
M____MMMMMMM____MM
M____MMMMMMM____MM
M__M__MMMMM__M__MM
M__M____MMM___M__MM
M__MMM______MMM__MM
M__MMMMMMMMMM__MM
MMMMMMMMMMMMMMMMSUPERMODERADOR

#5 RamonMS

RamonMS
  • Membros
  • 2 posts

Postado 31 August 2007 - 11:35 AM

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!


#6 Igor Diniz

Igor Diniz
  • Membros
  • 427 posts

Postado 31 August 2007 - 12:56 PM

QUOTE(RamonMS @ Aug 31 2007, 11:35 AM) Visualizar Post

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 ?
Porque acessar http://www.igordiniz.com.br ?!?

Hospeda Meu Site
Hospede agora e tenha um super desconto em qualquer plano!
Use o código promocional codigofonte
Saiba Mais!!!


MMMMMMMMMMMMMMM
M___MMMMMMMMM__MM
M____MMMMMMM____MM
M____MMMMMMM____MM
M__M__MMMMM__M__MM
M__M____MMM___M__MM
M__MMM______MMM__MM
M__MMMMMMMMMM__MM
MMMMMMMMMMMMMMMMSUPERMODERADOR

#7 RamonMS

RamonMS
  • Membros
  • 2 posts

Postado 03 September 2007 - 03:40 PM

<?php
$con=mysql_connect("localhost","usuario do bd","senha do bd");
mysql_select_db("nome do db", $con);
?>
entendeu ?
[/quote]



Entendi, Igor.
Obrigado!

Consegui fazer o tutorial.
Porém, fazendo-o pela segunda
vez está dando um erro ao enviar a mensagem.

Abaixo segue o erro:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/sonardig/public_html/newsletter/admin/envia.php on line 9


Aí depois descobri que o nome da tabela estava errado.
hehe... estou vendo que perderei muitos cabelos até aprender php.

Obrigado pelas dicas e pelo belo tutorial!

Editado por RamonMS, 03 September 2007 - 03:50 PM.


#8 Igor Diniz

Igor Diniz
  • Membros
  • 427 posts

Postado 03 September 2007 - 08:34 PM

ok
Porque acessar http://www.igordiniz.com.br ?!?

Hospeda Meu Site
Hospede agora e tenha um super desconto em qualquer plano!
Use o código promocional codigofonte
Saiba Mais!!!


MMMMMMMMMMMMMMM
M___MMMMMMMMM__MM
M____MMMMMMM____MM
M____MMMMMMM____MM
M__M__MMMMM__M__MM
M__M____MMM___M__MM
M__MMM______MMM__MM
M__MMMMMMMMMM__MM
MMMMMMMMMMMMMMMMSUPERMODERADOR

#9 Andy_pts

Andy_pts
  • Membros
  • 10 posts

Postado 27 October 2007 - 04:27 PM

Blz!!!

Mas se eu tiver, por exemplo, 30 e-mails cadastrados, eu ternho que enviar um a um ou isso acontece automaticamente???

Abs,

#10 Igor Diniz

Igor Diniz
  • Membros
  • 427 posts

Postado 27 October 2007 - 04:47 PM

não basta uma vez que ele manda para todos !
Porque acessar http://www.igordiniz.com.br ?!?

Hospeda Meu Site
Hospede agora e tenha um super desconto em qualquer plano!
Use o código promocional codigofonte
Saiba Mais!!!


MMMMMMMMMMMMMMM
M___MMMMMMMMM__MM
M____MMMMMMM____MM
M____MMMMMMM____MM
M__M__MMMMM__M__MM
M__M____MMM___M__MM
M__MMM______MMM__MM
M__MMMMMMMMMM__MM
MMMMMMMMMMMMMMMMSUPERMODERADOR

#11 ions

ions
  • Membros
  • 6 posts

Postado 25 September 2008 - 06:22 AM

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, 25 September 2008 - 06:23 AM.


#12 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 30 September 2008 - 09:08 PM

Sim seu servidor não está configurado (SMTP)
Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#13 ironaldos

ironaldos
  • Membros
  • 1 posts

Postado 30 November 2008 - 08:52 PM

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?

#14 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 02 December 2008 - 08:28 AM


#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

Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#15 placidoxd

placidoxd
  • Membros
  • 6 posts

Postado 05 February 2010 - 08:00 AM

Boa..isso ae...




0 usuário(s) está(ão) lendo este tópico

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)