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

(Resolvido) Problemas com o IF


Thiago Top

Pergunta

Boa tarde a todos,

estou com um probleminha ...

Tenho um script que envia e-mail atraves de uma autenticacao SMTP, até ai tudo bem, esta enviando normal.

Estou querendo fazer este envio com cópia para outra conta, até ai tambem esta normal, o problema é que eu não

quero sair enviando copia toda hora, quero estabelecer uma condicao para o envio desta copia da seguinte forma:

Faco conexao com o banco de dados e pego os IDs dos usuarios nos quais eu quero utilizar,

se ID for o que eu quero, envio email com cópia, senao, envia normal.

Assim:

function enviar($to, $subject,$body)
{

include "opencon.php";
$sql = "select id_user from user where id_user = 1";
$resultado = mysql_query($sql) or die ("não foi possivel realizar a consulta funcoes.php");
$id_user = $_SESSION["id_user"];

require("class.phpmailer.php");
require("class.smtp.php"); 
$mail = new PHPMailer();
$mail->IsSMTP();  // set mailer to use SMTP
.... e por ai vai ... //TA FAZENDO ENVIO NORMAL

$mail->AddAddress("$to");
$mail->Subject= ("$subject");
$mail->Body=("$body");
    
if($id que eu quero)
$mail->AddCC("email_cc@dominio.com.br","Nome"); 
}

O envio com copia feito em todos envios (como se não reconhecesse o meu IF), ou seja, não esta sendo feito de acordo com o ID que eu que eu quero

Entenderam?

Desde já, obrigado.

[]s, Thiago

Editado por Thiago Top
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

A tá, pensei que você soubesse programar... bom vamos lá:

$id1 = 10;//A que você quer*
$id2 = 10;//A que vem do BD*
if($id1 == $id2)
$mail->AddCC("email_cc@dominio.com.br","Nome");
}

* Substitua os "10" pelo que for conveniente no seu código.

Link para o comentário
Compartilhar em outros sites

  • 0

ainda não esta funcionando, não esta lendo a minha condicao no IF

$sql = "select id,nome from empresas";
$resultado = mysql_query($sql) or die ("não foi possivel realizar a consulta");

$ide = $_POST["id"];
$nome=$_POST["nome"];

while ($linha=mysql_fetch_array($resultado))
{
 $ide = $linha["id"];
 $nome = $linha["nome"];
}

echo "$id"; //esta imprimindo
echo "$nome"; //esta imprimindo

$id1 = 1;

. . .
. . .
. . .

if ($ide == $id1) //não ESTA TESTANDO MINHA CONDICAO
$mail->AddCC("email_cc@dominio.com.br","Nome"); // Envia Copia

Eu só quero que envie se o ID for igual a 1, caso contrario não quero que envie cópia.

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

por que você não faz na pagina que você digita o emal um checkbox Enviar Cópia???? EX:

Na formatação do Email:

<input name="copia" type="checkbox" value="1" /> Enviar Copia?
no script de envio:
$sql = "select id,nome from empresas";
$resultado = mysql_query($sql) or die ("não foi possivel realizar a consulta");

$ide = $_POST["id"];
$copia = $_POST['copia']; // Aqui ele busca no form da página de envio o checkbox
$nome=$_POST["nome"];

while ($linha=mysql_fetch_array($resultado))
{
$ide = $linha["id"];
$nome = $linha["nome"];
}

echo "$id"; //esta imprimindo
echo "$nome"; //esta imprimindo

$id1 = 1;

. . .
. . .
. . .

if ($copia == "1") { // Verifia se na pagina de envio voce marcou o checkbox
 $mail->AddCC("email_cc@dominio.com.br","Nome"); // Envia Copia
}

Editado por AmareshinO
Link para o comentário
Compartilhar em outros sites

  • 0

Bom, a lógica está certa... enfim, teste esses casos e veja no que dá:

<?php
$ide = 2;
$id1 = 1;

if ($ide == $id1)
echo 'oi';


?>
<?php
$ide = 2;
$id1 = 1;

if ($ide == $id1){
echo 'oi';
}

?>
<?php
$ide = 1;
$id1 = 1;

if ($ide == $id1)
echo 'oi';


?>
<?php
$ide = 1;
$id1 = 1;

if ($ide == $id1){
echo 'oi';
}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Gostei da idéia do checkBox, mas ainda não esta sendo capturada a checkbox marcada.

Na pagina que envia esta assim:

<?
    echo "<input name='copia' type='checkbox' value='1'/><b>Enviar Copia ?</b><br><br>";
    $copia = $_POST["copia"];
?>
E na pagina que verifica se a check box esta marcada esta assim:
$copia = $_POST["copia"];
if ($copia == "1") // verifica se a check box esta marcada
$mail->AddCC("email_cc@dominio.com.br","Nome"); // Envia Copia

Editado por Thiago Top
Link para o comentário
Compartilhar em outros sites

  • 0

o checkbox tem ke estar dentro do formulário de envio... dentro de um <form action="xxxxxx.php" method="post">

<?
echo "<input name='copia' type='checkbox' value='1'/><b>Enviar Copia ?</b><br><br>";
?>

tire o $copia = $_POST["copia"]; da mesma página do checkbox... ele tem que ficar na página de envio....

Link para o comentário
Compartilhar em outros sites

  • 0

esta assim:

Pagina do form:

<form action="xxxx"  method ="post">
.
.
.
<input name='copia' type='checkbox' value='1'><b>Copia ?</b><br><br>
</form>
E na outra pagina, no qual esta minha funcao, esta assim:
$copia=$_POST["copia"];

if ($copia== "1");
$mail->AddCC("email_cc@dominio.com.br","Nome"); // Envia Copia

Ainda não esta funcionando.

Editado por Thiago Top
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...