• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jotix

Como adicionar uma condição a uma função.

4 mensagens neste tópico

Num painel backoffice onde se activa e termina a exposição de banners (pedidos pelos anunciantes), em que, quando se clica no botão START o banner é colocado online no site, e quando se clica no botão STOP o banner é retirado do site.

2u6jmg6.jpg

O que eu pretendia era adicionar mais uma condição quando se clica no botão STOP.

E essa condição é enviar automaticamente um email para endereço de email do anunciante, a informá-lo que o tempo de exposição de banner terminou.

Assim, o código que tenho é:

	elseif ($plan=="member_mo"){


    	//Todo parece correcto procedemos con la inserccion
   	 	$query = "UPDATE tb_banner SET stopped = '$time' WHERE id ='$id'";
	$queryz = "DELETE FROM banners_member WHERE id='$id'";
   		mysql_query($query) or die(mysql_error());
    	mysql_query($queryz) or die(mysql_error());

    	echo "<font color=\"red\"><b>Banner request has been stopped.</b></font><br><br>";

O endereço de email do anunciante está numa tabela criada para o efeito, e o seu endereço está numa linha criada também para o efeito.

Tentei, fazer o que quero, alterando o código para:

elseif ($plan=="top_ad"){


    	//Todo parece correcto procedemos con la inserccion
   	 	$query = "UPDATE tb_banner SET stopped = '$time' WHERE id ='$id'";
	$queryz = "DELETE FROM topbanners WHERE id='$id'";
   		mysql_query($query) or die(mysql_error());
	mysql_query($queryz) or die(mysql_error());

$mail = "Dear xx"

            Your banner terminate now.

     ";
	$env_mail = mail($linha['pemail'], 'ATTENTION: Your banner ', $mail);
    	echo "<font color=\"red\"><b>Banner request has been stopped.</b></font><br><br>";
}

Só que não dá.

O que está errado e precisa de ser alterado?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se olhares bem para o código que colocaste reparas que as cores não estão muito bem. Tens uma aspa a mais depois de "xx" :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O erro também não reside aí, pois é necessário chamar a tabela onde está o email e mais uma série de coisas.

Obrigado pela ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O mail nao é enviado é ?

possivelmente precisas de meter:

global $linha;

antes da var $env_mail.

Sendo função tens q "globalizar" as variaveis que estão de fora.

Já agora podias verificar se as queries foram executadas (Já sei que se não forem ele "morre", mas morrer nem sempre fica giro)

fica +- isto.


elseif ($plan=="top_ad"){


    	//Todo parece correcto procedemos con la inserccion
$query = "UPDATE tb_banner SET stopped = '" . $time . "' WHERE id ='" . $id. "'";
$queryz = "DELETE FROM topbanners WHERE id='" . $id . "'";
$query = mysql_query($query);
$queryz = mysql_query($queryz);
//Caso sejam executadas...
if ($query && $queryz) {

$mail = "Dear xx

Your banner terminate now.";

global $linha;
if ($env_mail = mail($linha['pemail'], 'ATTENTION: Your banner ', $mail)) {
echo "<font color=\"red\"><b>Banner request has been stopped.</b></font><br><br>";
} else {
//ERRO DO EMAIL
echo 'An error occurred during the email sending process. <br>Please contact the website administrator';
}

//ERRO DO SQL
} else {
echo 'An error occurred during this process ' . mysql_error() . '<br>Please contact the website administrator';
}
//FIM DO ELSE IF
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora