Ir para conteúdo

POWERED BY:

Arquivado

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

Web Design Valdeci

[Resolvido] envio de email

Recommended Posts

Boa tarde,

 

Estou utilizando um script que peguei no laboratório de scripts para enviar e-mail. ele funciona beleza, mas preciso de uma ajuda.

Quando ele envia, não verifica se o campo e-mail. está vazio ou não. Não manjo muito de php por isso peço a ajuda. Preciso que antes que a consulta para envio do e-mail seja feita, ele verifique se o campo do e-mail está vazio.

 

Obrigado

 

<?php 
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];

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

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

$body = $msg; 
$nome_remetente = "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 
$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]; 

$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

Porque o seguinte,

 

Eu programo em asp, se eu fosse fazer em asp

 

If Email <> "" then

executo o script

 

End if

 

No php, não tem alguma coisa assim? Se ele for diferente de vazio enviar?

 

tipo

 

if $email != "" não sei se é assim....

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao

 

o empty verifica se eleestá vazio ..

 

mas tu pode fazer assim tbm

 

if($to != ""){
//não está vazio
}else{
//está vazio
}

beleza, fiz assim:

 

<?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> 
"); 
} 
}
?>

funcionou. Obrigado.

 

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.