• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

JDrEd

Enviar mail a utilizadores inscritos numa base de dados

10 mensagens neste tópico

Boas, sei pouco de php e tenho andado a tentar fazer uma mail lista, a inscrição dos utilizadores, administração destes já fiz e está tudo ok :)

Agora falta fazer um php para ir a base de dados buscar os vários mails dos utilizadores e enviar um mail definido por mim para estes.

Tentei fazer o que vou postar abaixo, mas está a dar uma série de erros.

Estrutura da base de dados

CREATE TABLE noticias (
id int(5) NOT NULL auto_increment,
nome char(30) NOT NULL ,
email char(80) ,
data date NOT NULL,
hora time NOT NULL ,
ver char(3) DEFAULT 'off' ,
PRIMARY KEY (id),
UNIQUE id (id)
);

O ver fica por default off, e depois é modificado por mim (como que uma aceitação do registo), agora queria mandar um mail para todos os utilizadores registados na bd e que o ver estive-se on.

Isto foi o que fiz  :D

<html>
<head>
<title>Formulario de E-mail</title>
</head>
<body>
<table width="80%" align="center">
<form action="mail.php" method="post" name="formulario" id="formulario">
<tr>
<td width="20%">Seu Email</td>
<td><input type="text" name="meu" size="50" maxlength="255"></td>
</tr>
<tr>
<td width="20%">Assunto</td>
<td><input type="text" name="titulo" size="50" maxlength="255"></td>
</tr>
<tr>
<td colspan=2>Sua Mensagem<br>
<textarea cols="53" rows="5" name="texto"></textarea>
</td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" value="Enviar Email"></td> 
</tr>
</form>

</table>

</body>
</html>

<?php

$conexao = mysql_connect("localhost","XXXX","XXX");
$db = mysql_select_db("ciaia_ciaia");
$sql = "SELECT * FROM newsletter WHERE e='$id'";
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");

while ($linha=mysql_fetch_array($resultado)) {
$email = $linha["email"];

$destino = $email;
$rementente = $meu;
$assunto = $titulo;
$mensagem= $texto;

$headers = "Content-Type: text/html; charset=iso-8859-1"; 
$headers.="From:".$rementente.""; 

mail("$destino", "$assunto", "$mensagem","$headers"); 

?>

Desculpem lá os erros :S

Se me pudessem dar uma ajuda agradecia

Grande Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Antes de tudo obrigado pela resposta rápida.

O erro que está dando é o seguinte:

Parse error: syntax error, unexpected $end in /home/ciaia/public_html/admin/mail.php on line 22

Grande abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

da erro numa linha que não existe! ele ta a dizer que não encontra o fim. $end, tem de ver se falta uma chaveta ou alguma coisa por fechar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado anuska, realmente foi uma falta de atençao parva mesmo :)

Agora dá outro erro :D

Não foi possível realizar a consulta ao banco de dados

Help?

Abraços

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já consegui, troquei a 5ª linha por " $sql = "SELECT * FROM newsletter ORDER BY id DESC";  "

Só falta agora é mesmo apenas mandar para os que têm o ver = on.

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

prontos ta resolvido, mudei a 5ª linha novamente para:

$sql = "SELECT * FROM newsletter WHERE ver = 'on' ORDER BY id DESC";

E já faz o que eu queria.

Peço desculpa pelos post seguidos.

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora