Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
fala familia imasters!!
seguinte,minha empresa precisa de um sistema de newsletters,ai eu criei 2 arquivos ,cada um tem um form e cada um execulta uma função!
1) cadastra nome da empresa e email no bd!!!
2)pega a tabela email com os registros dos cadastrados e envia as newslleters!!
cadastrar.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>cadastro de empresas</title>
</head>
<body>
<form name="form1" method="post" action="funcoes_cadastro_bd.php?funcao=gravar">
<table width="200" border="1">
<tr>
<td colspan="2">cadastro no banco de dados</td>
</tr>
<tr>
<td>nome:</td>
<td><label>
<input type="text" name="nome" id="nome" />
</label></td>
</tr>
<tr>
<td><label>email:</label></td>
<td><input type="text" name="email" id="email" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="button" id="button" value="cadastrar" /></td>
</tr>
</table>
</form>
</body>
</html>
envia.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>cadastro de empresas</title>
</head>
<body>
<form name="form1" method="post" action="funcoes_cadastro_bd.php?funcao=enviar">
<table width="200" border="1">
<tr>
<td>enviando para clientes</td>
</tr>
<tr>
<td><input type="submit" name="button" id="button" value="enviar" /></td>
</tr>
</table>
</form>
</body>
</html>
funcoes_cadastro_bd.php
<?php
include "conexao.php";
$nome = $_POST['nome'];
$email = $_POST['email'];
if ($_GET['funcao'] == "gravar"){
$sql_gravar = mysql_query ("INSERT INTO clientes (nome, clientes) value ('$nome','$email')");
header ('location:index.php');
}
?>
<?php
if ($_GET['funcao'] == "enviar"){
$envia = mysql_query ("SELECT clientes FROM clientes ORDER BY nome");
while($linha = mysql_fetch_array($envia)){
//Email de origem (quem está enviando)
$from = "HOMMA.COM";
//Mensagem em HTML. Repare que tem um elemento IMG no HTML que chamará
//o script "verificado.php" quando o usuario abrir o email.
//Esse script por sua vez envia uma mensagem de volta para você avisando que
//o cara abriu o e-mail
$mensagem = '
<html>
<body>
<img src="[http://www.homma.com.br/homma">](http://www.homma.com.br/homma)
</body>
</html>';
//Para mensagens HTML deve ser enviado um cabeçalho
$cabecalho = "From: $from\r\n";
$cabecalho .= "Content-type: text/html\r\n";
if(mail("$envia", "Veja soluções propostas pela HOMMA.COM ", $mensagem, $cabecalho))
echo("Email enviado!");
};
header ('location:envia.php');
}
?>
o cadastro no bd ta certinho,só não estou conseguindo puxar o campo email por SELECT, e enviar o email para os cadastrados no bd!!!
a lógica é simples um arquivo q cadastra e outro q envia!!!
desde já agradeço!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
fala david beleza http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
oh cara fiz o q você sugeriu mais n deu certo!!
quando aciona a pagina funcoes_cadastro_bd.php sendo q no form execulta parte da função funcoes_cadastro_bd.php?funcao=enviar q execulta o c´´odigo abaixo
<?php
if ($_GET['funcao'] == "enviar"){
$envia = mysql_query ("SELECT clientes FROM clientes ORDER BY nome");
while($linha = mysql_fetch_array($envia)){
//Email de origem (quem está enviando)
$from = "HOMMA.COM";
//Mensagem em HTML. Repare que tem um elemento IMG no HTML que chamará
//o script "verificado.php" quando o usuario abrir o email.
//Esse script por sua vez envia uma mensagem de volta para você avisando que
//o cara abriu o e-mail
$mensagem = '
<html>
<body>
<img src="[http://www.homma.com.br/homma">](http://www.homma.com.br/homma)
</body>
</html>';
//Para mensagens HTML deve ser enviado um cabeçalho
$cabecalho = "From: $from\r\n";
$cabecalho .= "Content-type: text/html\r\n";
if(mail($linha['clientes'], "Veja soluções propostas pela HOMMA.COM ", $mensagem, $cabecalho))
echo("Email enviado!");
};
header ('location:envia.php');
}
?>
quando clico no botão aciona a pagina mais ela fica em branco,e nem avisa se o email foi enviado ou algo parecido!!!
ela fica estacionado na pagina funcoes_cadastro_bd.php e não acontece nada!! http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif
desde vlw a ajuda man!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
A função mail() realmente não retorna nenhum erro.
Qual é o teu problema? qual é a dúvida ?
execute assim:
if( !isset($_GET['funcao']) )
echo 'Não veio nada por GET';
if ($_GET['funcao'] == "enviar"){
$envia = mysql_query ("SELECT clientes FROM clientes ORDER BY nome")or die( mysql_error() ); veja:
http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/
habilite os erros.
grande william http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
entaum cara tenho umas newlleters q enviarei para os clientes!!
creie uma tabela com 2 campos!!!nome e cliente!!
nela estão cadastrados varios clientes!!! entaum quero selecionar a area clientes da tabela clientes!!
o insert into ta indo jóia para cadastrar,mais no comando select to tendo dificuldades para puxar os dados da tabela e envia-los via email!!!
como você viu acima a função mail não reporta erros,entaum eu nem sei em qual linha de comando estou pecando!!
aparentemente ta llendo pq ta retornando pra pg q coloquei no header
header ('location:envia.php');
estranho q não envia o email,ai vem a questão será q estou trabalhando corretamente com o select?ou o erro está em outro local no meu code!!
procurei muito na net como enviar emails usando o bd mais n axei nada,todos os sistemas q axei são escritos os destinatarios na unha!! http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif
vlw desde já bruno e o tópico q você me passou e muito bom vou dar uma lida!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
o código com a alteração q você sugeriu deu na mesma!! continua passando em branco a função mail(),isso quer dizer q não é erro com mysql né?
<?php
if( !isset($_GET['funcao']) ) echo 'Não veio nada por GET';
if ($_GET['funcao'] == "enviar"){ $envia = mysql_query ("SELECT clientes FROM clientes ORDER BY nome")or die( mysql_error() );{
//Email de origem (quem está enviando)
$from = "HOMMA.COM";
//Mensagem em HTML. Repare que tem um elemento IMG no HTML que chamará
//o script "verificado.php" quando o usuario abrir o email.
//Esse script por sua vez envia uma mensagem de volta para você avisando que
//o cara abriu o e-mail
$mensagem = '
<html>
<body>
<img src="[http://www.homma.com.br/homma">](http://www.homma.com.br/homma)
</body>
</html>';
//Para mensagens HTML deve ser enviado um cabeçalho
$cabecalho = "From: $from\r\n";
$cabecalho .= "Content-type: text/html\r\n";
if(mail($envia, "Veja soluções propostas pela HOMMA.COM ", $mensagem, $cabecalho)) echo("Email enviado!"); };
header ('location:envia.php');
}
?>Qual é a coluna que contém o email do cliente ??
poste a estrutura da tabela.
Não precisa reexplicar tudo, eu li o post inteiro. ^_^
ai cara vlw!!! só to tentando entender a lógica disso,pois pesquiso e pesquiso e até agora nada!!
o bd
===Banco de Dados empresas_homma
== Estrutura da tabela clientes
|------
|Campo|Tipo|Nulo|Padrão
|------
|//id//|int(11)|Sim|NULL
|nome|varchar(25)|Sim|NULL
|clientes|varchar(25)|Sim|NULL
== Extraindo dados da tabela clientes
|11|alan|alanarnese@hotmail.com
|10|imefer|imefertubos.com.br
|9|solange|solange@zepinni.com.br
|6|diego|diego@marwil.com.br
agora axo q ta + claro,quero puxar os dados da coluna clientes com o Select e enviar o email!!
esses abaixo são os q cadastrei com insert into!!
é tio will vlw denovo :lol:
Amigo acho que o erro esta aq ó:
if(mail("$envia", "Veja soluções propostas pela HOMMA.COM ", $mensagem, $cabecalho))
Faz assim ó:
if(mail($linha['clientes'], "Veja soluções propostas pela HOMMA.COM ", $mensagem, $cabecalho))
olha se dá certo e da o retorno!!