Jump to content
Fórum Script Brasil
  • 0

ENVIO DE NEWSLETTER PERCORRENDO BANCO DE DADOS


Question

Olá, boa tarde! Será que alguém pode me ajudar a resolver um problema no meu código. 

 

Tenho um código, para buscar as informações em um formulário html e enviar essas informações por e-mail para toda minha lista no banco de dados, 

porém quando envio está acontecendo um erro:

Parse error: syntax error, unexpected 'refresh' (T_STRING), expecting ',' or ';' in on line 64.

Esse é o código do formulário html:

 

<form method="post" action="enviandomaladireta.php">
                        <div class="row form-group">
                            <div class="col-md-12">
                                <label class="sr-only" for="name">Nosso Nome</label>
                                <input type="text" name="nome" placeholder="Nosso Nome" required="required" class="form-control"/>
                            </div>
                            
                        </div>

                        <div class="row form-group">
                            <div class="col-md-12">
                                <label class="sr-only" for="email">Email do Remetente</label>
                                <input type="text" name="email_remetente" placeholder="Email do Remetente" required="required" class="form-control"/>
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-md-12">
                                <label class="sr-only" for="message">Assunto</label>
                                <input type="text" name="assunto" placeholder="Informe o assunto" required="required" class="form-control" />
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-md-12">
                                <label class="sr-only" for="message">Nome da Lista</label>
                                <input type="text" name="nome-da-tabela" placeholder="nome da tabela do BD" required="required" class="form-control" />
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-md-12">
                                <label class="sr-only" for="message">Mensagem html</label>
                                <textarea name="html" placeholder="Escreva Sua Mensagem em html" class="form-control"></textarea>
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-md-12">
                                <label class="sr-only" for="message">Mensagem texto</label>
                                <textarea name="mensagem_texto" placeholder="Escreva Sua Mensagem em texo" class="form-control"></textarea>
                            </div>
                        </div>
                        <div class="form-group">
                            <input type="submit" value="Enviar" class="btn btn-primary">
                        </div>

                    </form>        

 

e esse é o código php:

 

<?php
header ('Content-Type: text/html; charset=utf-8');

include ("class.phpmailer.php");
include ("conexao.php");

//Campos para envio da mensagem

$de = $_POST['nome'];
$email_remetente = $_POST['email_remetente'];
$assunto = $_POST['assunto'];
$tabela = $_POST['nome-da-tabela'];
$html = $_POST['html'];
$para = utf8_decode('destinatário');
$mensagem_texto = $_POST['mensagem_texto'];


// CAMPOS UTILIZADOS PARA A CONSULTA
$campos = "id, nome, email, codStatus";

// NUMERO MÁXIMO DE ENVIO
$quant = 2;

// TEMPO ENTRE UM PROCESSO DE ENVIO E OUTRO
$seg = 15;

// CONECTA COM O SERVIDOR MYSQL
mysql_connect($host,$usuario,$senha);

// SELECIONA O BANCO
mysql_select_db($banco);

// RESGATA O VALOR DA GLOBAL INICIO
$inicio = $_GET["inicio"];

// ATRIBUI O RESULTADO DA SOMA ENTRE INICIO E QUANT
$fim = $inicio + $quant;

// VERIFICA SE FOI ATRIBUIDO VALOR A VARIAVEL "INICIO"
if($inicio == ""){

// ATRIBUI O VALOR 0 CASO NÃO EXISTA VALOR ATRIBUIDO
$inicio = 0;
}else{

// ATRIBUI O VALOR DA GLOBAL INICIO CASO já EXISTA VALOR ATRIBUIDO
$inicio = $_GET["inicio"];
}

// EXECUTA A CONSULTA OU INFORMA UM ERRO CASO OCORRA
$sql = mysql_query("SELECT ". $campos ." FROM ". $tabela ." WHERE codStatus = 0 LIMIT ". $inicio .",". $quant)or die(mysql_error());

// VERIFICA SE AINDA EXISTEM EMAILS A SEREM ENVIADOS
if(mysql_num_rows($sql) == 0){

// ALTERANDO O VALOR DO CAMPO CODSTATUS PARA 0
@mysql_query("UPDATE ". $tabela ." SET codStatus = 0");

// INFORMO O TÉRMINO DO PROCESSO
echo "Fim do processo de envio!";
}else{

// CONTINUA EFETUANDO O ENVIO
echo "<meta http-equiv="refresh" content="" . $seg . ",URL=?inicio=". $fim ."">";  (ESSA É A LINHA 64)
}

// CRIA O LAÇO REPETITIVO
while($r = mysql_fetch_array($sql)){

// ADICIONAMOS OS PADRÕES DE DESTINATRIO
$para = $r["email"];

//Criando a classe PHPMailer para envio de newsletter

require("PHPMailer-master/src/PHPMailer.php");
require("PHPMailer-master/src/SMTP.php");

$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "br316.hostgator.com.br";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "@@";
$mail->SetFrom("[email protected]");

$mail->Mailer = ('mail');
$mail->FromName = $de;
$mail->Addbcc ($para);
$mail->AddReplyTo = ($email_remetente);
$mail->Wordwrap = 50;
$mail->Subject = ($assunto);


$texto = $mensagem_texto;

$mail->Body = $html;
$mail->AltBody = $texto;

if($mail->Send()){
echo "<hr />Mensagem enviada para: ". $para ."<br />";

//Altero o código para 1 para parar o envio do loop

@mysql_query("UPDATE". $tabela ."SET codStatus = 1 WHERE id = 1".$id);

} else {
echo "Mensagem não enviada para: ". $para ."<br />";
}
}

?>

 

Será que alguém consegue concertar ou me mostrar como? 

Mas sou bem iniciante nisso, não entendo muito. 

Obrigado desde Já

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.



  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644530
×
×
  • Create New...