Ir para conteúdo

POWERED BY:

Arquivado

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

Web Design Valdeci

[Resolvido] Envia newsletter mas alguns chegam em branco

Recommended Posts

Boa tarde pessoal,

 

Peguei este script no laboratório de scripts, configurei direitinho e ele funcionou, envia de 10 em 10 a cada 10 segundos.

O problema é que algumas mensagens chegam em branco. Não se se é na hora que ele dá o refresh na página perde os dados, não manjo muito php, estou aprendendo ainda. Alguem poderia me ajudar?

 

Envio o código abaixo.

 

<?php 
require('require/cabecalho.php');

//configurações do banco 
$host = "caminhobanco"; 
$banco = "nomebanco"; 
$usuario = "nomeusuario"; 
$senha = "senhabanco"; 
$tabela = "tabela"; 
$campos = "id,email,status"; //campos da tabela 

//configurações do e-mail 
$subject = $assunto; 

$body = $msg; 
$nome_remetente = "Nome do Remetente"; 
$email_remetente = "Email Remetente"; 

$quant = 10; //número de mensagens enviadas de cada vez 
$sec = 10; //tempo entre o envio de um pacote e outro (em segundos) 
?> 

<?php 
$conexao = mysql_connect($host,$usuario,$senha); 
mysql_select_db($banco); 
?> 

<?php 
if($_POST[elm1] != "")
$_SESSION[msg] = stripslashes($_POST[elm1]);
$msg = $_SESSION[msg];
if($_POST[assunto] != "")
$_SESSION[assunto] = $_POST[assunto];
$assunto = $_SESSION[assunto];

$ok = 0; 
$inicio = 0; 
$fim = $inicio + $quant; 
?> 

<?php 
$sql = "select $campos from $tabela where status = 0 limit $inicio,$fim"; 
$query = mysql_query($sql,$conexao); 
$registros = mysql_num_rows($query); 
?> 

<?php 
if($registros==0){ 
mysql_query("update $tabela set status = 0"); 
printf("<font face=’tahoma’>todas as mensagens foram enviadas!</font>"); 
$ok = 1; 
} 
?> 

<?php 
while($result = mysql_fetch_array($query)){ 
$id = $result[0]; 
$to = $result[1]; 
$status = $result[2]; 

if($to != ""){

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $nome_remetente <$email_remetente>";
mail($to,$subject,$body,$headers); 
mysql_query("update $tabela set status = 1 where id = $id"); 
printf("<font face=’tahoma’>$id ) mensagem para <b>$to</b> <font color=’#ff0000’><b>enviada com sucesso!</b></font></font> 
"); 
} 
}
?> 

<?php 
mysql_free_result($query); 
mysql_close($conexao); 
?> 

<?php 
if(!$ok){ 
echo("<meta http-equiv=\"refresh\" content=\"" . $sec . "\">"); 
} 
?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde Pessoal,

 

pedi ajuda há algum tempo atrás mas não conseguiram me ajudar. Peguei este script acima para envio de e-mails. ele é programado a enviar 10 emails a cada 10 segundos.

 

So que o seguinte, tenho 30 e-mails cadastrados, ele envia os 10 primeiros tudo tranquilo, os dados que ele envia é passado por um form via post.

so que na hora que ele pega do 11 pra cima a mensagem fica em branco, parece que ele perde os dados do post.

 

gostaria de saber se alguem conhece alguma forma dele não perder estes dados que enviei via post.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia Pessoal,

 

Mexendo e quebrando a cabeça, ví que faltava no código isto:

 

session_start();

 

Como o sistema dá um refresh na página, preciso criar uma sessão para que os dados fiquem armazenados.

 

agora sim funcionou. Fica aí pra quem quiser utilizar.

 

RESOLVIDO.

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.