Ir para conteúdo
Fórum Script Brasil
  • 0

função sleep para newsletter não funciona


luislack

Pergunta

estou tentando fazer funcionar dentro deste script.

<?php require("../login.php");?>

<?php require("../banco_conecta.php");?>

<fontface=verdanasize=2>

<?php

$acao = $_GET[acao];

$news_id = $_GET[news_id];

if($acao ==enviar'){

$resultado_news = mysql_query('SELECT * FROM news ORDER BY news_id DESC');

if(!$resultado_news){

die("Erro na solicitação de query: ". mysql_error().'<br>');

}

if(mysql_num_rows($resultado_news)==0){

echo("Esta NewsLetter não existe.<br>Envio cancelado!<br>");

exit;

}else{

if($row = mysql_fetch_array($resultado_news)){

$news_id = $row['news_id];

$news_data = $row['news_data'];

$news_assunto = $row['news_assunto'];

$news_completo = $row['news_completo'];

$news_login = $row['news_login'];

}

}

echo('<iframe src=news_conta.php" width="40" height="14" name="iframe_envia" scrolling="auto" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" frameborder="NO" border="0" framespacing="0">

</iframe>');

$resultado = mysql_query('SELECT * FROM cad WHERE cad_ativo = "s" AND cad_news_id <> '.$news_id.' ORDER BY cad_id ASC');

if(!$resultado){

die("Erro na solicitação de query: ". mysql_error().'<br>');

}

if(mysql_num_rows($resultado)==0){

echo("Não existe cadastro.<br>Envio cancelado!<br>");

exit;

}else{

while($row = mysql_fetch_array($resultado)){

$cad_id = $row[cad_id];

$cad_email = $row['cad_email];

$cad_senha = $row['cad_senha'];

$cad_codigo = $row['cad_codigo'];

$cad_email = $row['cad_email'];

if($cad_senha ==''){

$cad_senha ='<i>Em branco (você não informou)</i>';

}

$cad_news_completo = str_replace('$cad_login', $cad_email, $news_completo);

$cad_news_completo = str_replace('$cad_senha', $cad_senha, $cad_news_completo);

$cad_news_completo = str_replace('$cad_codigo', $cad_codigo, $cad_news_completo);

$cad_news_completo = str_replace('$cad_email', $cad_email, $cad_news_comapleto);

$para_assunto = $news_assunto;

if($para_assunto ==''){

$para_assunto ='NewsLetter - Empresa';

}

$para_mensagem =($cad_news_completo);

$de ='Empresa';

$de_email ='empresa@teste.com.br';

$cabecalho ="From: $de <$de_email>";

$cabecalho .="\nContent-Type: Text/HTML";

mail($cad_email,$para_assunto,$para_mensagem,$cabecalho);

$query ="UPDATE cad SET cad_news_id=".$news_id." WHERE cad_id=".$cad_id."";

$resultadoConfirma = mysql_query($query)ordie("Não foi possível incluir a news no cadastro. Fale com o administrador do site.");

//testando o sleep

$temp_conta =0;

$temp_conta = $temp_conta+1;

//inicio do delay

if($temp_conta ==99)

{

flush();

sleep (3600);

$temp_conta =0;

}

//final do delay

}

echo('<font color=green><b>CONCLUÍDO!</b></font> ('.$temp_conta.' de '.mysql_num_rows($resultado).' e-mails) [<a href=java script:history.go(-3);>Voltar</a>]');

}

}else{

echo('<br>Erro de GET. Fale com o administrador do site.<br>');

}

?>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Qual o erro? O que deveria acontecer que não acontece?

antes de nada obrigado pela atenção.

ele estava passando direto querendo enviar tudo de uma vez eu tirei a linha:$temp_conta =0;

e ficou assim la no final, pelo echo parece que fica congelado mesmo depois de uma hora = 3600 / 99 email por hora eu tenho 3000 mil cadastros dou enviar ele envia 99 e fica com o echo 2901 vou deixar o servidor enviando segunda eu vejo se chegou na minha caixa de entrada algum.

$conta = $conta+1;

$temp_conta = $temp_conta+1;

//inicio do delay

if ($conta == 99)

{

flush();

sleep (3600);

$conta = 0;

}

//final do delay

}

echo('<font color=green><b>CONCLUÍDO!</b></font> ('.$conta.' de '.mysql_num_rows($resultado).' e-mails) [<a href=java script:history.go(-3);>Voltar</a>]');

}

} else {

echo('<br>Erro de GET. Fale com o administrador do site.<br>');

}

?>

</font>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...