Jump to content
Fórum Script Brasil
  • 0

função sleep para newsletter não funciona


luislack
 Share

Question

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 ='[email protected]';

$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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...