Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kreator

sistema de cadastro e envio de email pelo bd

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo acho que o erro esta aq ó:

 

if(mail("$envia", "Veja soluções propostas pela HOMMA.COM ", $mensagem, $cabecalho))
        echo("Email enviado!");  
         
         
         };

Faz assim ó:

 

if(mail($linha['clientes'], "Veja soluções propostas pela HOMMA.COM ", $mensagem, $cabecalho))
        echo("Email enviado!");  
         
         
         };

olha se dá certo e da o retorno!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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"> 
                
          </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');

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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. ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

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:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.