Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde Pessoal,
Estou utilizando um código que peguei no laboratório de scripts para envio de newsletter.
Assim que peço para enviar aparecem os seguintes erros:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\caminho\dominio.com.br\httpdocs\enviaEmail.php:1) in C:\caminho\dominio.com.br\httpdocs\enviaEmail.php on line 2
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\caminho\dominio.com.br\httpdocs\enviaEmail.php on line 50
todas as mensagens foram enviadas!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\caminho\dominio.com.br\httpdocs\enviaEmail.php on line 62
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\caminho\dominio.com.br\httpdocs\enviaEmail.phpon line 81
abaixo o código:
<?php
session_start();
require('require/cabecalho.php');
if($_POST[elm1] != "")
$_SESSION[msg] = stripslashes($_POST[elm1]);
$msg = $_SESSION[msg];
if($_POST[assunto] != "")
$_SESSION[assunto] = $_POST[assunto];
$assunto = $_SESSION[assunto];
if($_POST[ramo] != "")
$_SESSION[ramo] = $_POST[ramo];
$ramo = $_SESSION[ramo];
//configurações do banco
$host = "localhost";
$banco = "banco";
$usuario = "usuarios";
$senha = "senha";
$tabela = "clientes1";//configurações do e-mail
$subject = $assunto;
$body = $msg;
$nome_remetente = "Nome da Empresa";
$email_remetente = "contato@dominio.com.br";
$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
$ok = 0;
$inicio = 0;
$fim = $inicio + $quant;
?>
<?php
$sql = "select $campos from $tabela ".(($ramo != "")? "where ramo='{$_SESSION[ramo]}'" : "")." and 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$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 . "\">");
}
?>
Mexendo aqui, criei outra forma de conexao e a maioria dos erros não aparecem mais, o único que ainda insiste é o do session>
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\caminho\dominio.com.br\httpdocs\enviaEmail.php:1) in C:\caminho\dominio.com.br\httpdocs\enviaEmail.phpon line 3
todas as mensagens foram enviadas!
<?php
if (!isset($_SESSION)) {
session_start();
}
require('require/cabecalho.php');
if($_POST['elm1'] != "")
$_SESSION[msg] = stripslashes($_POST['elm1']);
$msg = $_SESSION['msg'];
if($_POST['assunto'] != "")
$_SESSION['assunto'] = $_POST['assunto'];
$assunto = $_SESSION['assunto'];
if($_POST['ramo'] != "")
$_SESSION['ramo'] = $_POST['ramo'];
$ramo = $_SESSION[ramo];
//configurações do e-mail
$subject = $assunto;
$body = $msg;
$nome_remetente = "Empresa";
$email_remetente = "contato@dominio.com.br";
$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("localhost","usuario","senha") or die( mysql_error() );
mysql_select_db("banco",$conexao) or die( mysql_error() );
?>
<?php
$ok = 0;
$inicio = 0;
$fim = $inicio + $quant;
?>
<?php
$sql = "SELECT * from clientes1 ".(($ramo != "")? "where ramo='{$_SESSION['ramo']}'" : "")." and status = 0 limit $inicio,$fim";
$query = mysql_query($sql,$conexao)or die( mysql_error() );
$registros = mysql_num_rows($query);
?>
<?php
if($registros==0){
mysql_query("update clientes1 set status = 0");
printf("<font face=’tahoma’>todas as mensagens foram enviadas!</font>");
$ok = 1;
}
?>
<?php$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 clientes1 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 . "\">");
}
?>Carregando comentários...