Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
É o seguinte, eu criei um arquivo chamado index.php, que faz o require do connect.php (para conexão no banco de dados), do class.phpmailer.php (classe do phpmailer para função mail()), do retorno.php(óbvio) e de mais dois arquivos que irão realizar ações, porém, uma query que teria de funcionar, não está funcionando, eu rodei ela separada e ela está funcionando normal, porém na hora de rodar dentro da função, ela não roda..
OBS: *O arquivo **emails_dxl.php** roda, mesmo sendo depois da query, ele está rodando tudo certinho, envia o e-mail conforme o status, o único problema é a query(aff.php)*
Aqui estão os scripts:
index.php
<?php
require_once('../includes/connect.php');
require_once('phpmailer/class.phpmailer.php');
require_once("retorno.php");
define ('TOKEN', 'MEU TOKEN');
function retorno_automatico (
$VendedorEmail, $TransacaoID, $Referencia, $TipoFrete,
$ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento,
$StatusTransacao, $CliNome, $CliEmail, $CliEndereco,
$CliNumero, $CliComplemento, $CliBairro, $CliCidade,
$CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens, $Parcelas
) {
if ($StatusTransacao == 'Completo' OR $StatusTransacao == 'Aprovado' OR $StatusTransacao == 'Em Análise' OR $StatusTransacao == 'Cancelado' OR $StatusTransacao == 'Aguardando Pagto') {
include_once('aff.php');
include_once('emails_dxl.php');
}
}
?><html>
<head>
<title>Obrigado!</title>
</head>
<body>
<h1><?php echo $msg.'<br />';?>Obrigado, falta muito pouco para liberar seu produto...</h1>
<p>O pagamento será feito pelo pagseguro e assim que recebermos a confirmação de pagamento, você receberá um e-mail.</p>
</body>
</html>
aff.php (que no caso, teria que rodar a query) - OBS: Rodei ela separada e ela está adicionando, tudo normal, porém dentro do retorno ela não roda.
<?php
require_once('../includes/connect.php');
$sqls = "INSERT INTO teste (texto) VALUES ('".$CliNome."')";
mysql_query($sqls, $conexao);
?>
emails_dxl.php (PHPMailer)
<?php
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
try {
$mail->IsHTML(true);
$mail->AddReplyTo('MEUEMAIL@MEUDOMINIO.com', 'NOMEDOSITE');
$mail->AddAddress($CliEmail, $CliNome);
$mail->SetFrom('MEUEMAIL@MEUDOMINIO.com', 'NOMEDOSITE');
$mail->AddReplyTo('MEUEMAIL@MEUDOMINIO.com', 'NOMEDOSITE');
if($StatusTransacao == 'Completo' OR $StatusTransacao == 'Aprovado') {
$mail->Subject = 'Seu pagamento foi recebido!';
$mail->Body = 'Olá '.$CliNome.'!<br />Seu pagamento foi recebido com sucesso, seu pedido será entregue via e-mail em aproximadamente 1 hora!<br /><br />O prazo máximo de entrega é de 24 horas, caso não receba neste período, por favor entre em contato pelo suporte !';
}elseif($StatusTransacao == 'Em Análise'){
$mail->Subject = 'Seu pagamento está em análise';
$mail->Body = 'Olá '.$CliNome.'!<br />Seu pagamento está em análise, assim que seu pagamento for confirmado iremos enviar-lhe outro e-mail com as informações necessárias sobre seu pedido!';
}elseif($StatusTransacao == 'Cancelado'){
$mail->Subject = 'Seu pagamento foi cancelado!';
$mail->Body = 'Olá '.$CliNome.'!<br />Infelizmente seu pagamento foi cancelado pelo PagSeguro, não poderemos lhe entregar o pedido!';
}elseif($StatusTransacao == 'Aguardando Pagto'){
$mail->Subject = 'Estamos aguardando seu pagamento!';
$mail->Body = 'Olá '.$CliNome.'!<br />Seu pedido foi efetuado com sucesso, assim que seu pagamento for efetuado, iremos enviar-lhe outro e-mail contendo as informaç&oatilde;es necessárias sobre seu pedido!';
}
$mail->Send(); echo $e->getMessage(); //Boring error messages from anything else!
}
?>Então senartes, o TOKEN está certo, coloquei na primeira linha, mesmo sabendo que não ia mudar nada, até porque no arquivo retorno.php coloquei um define apontando meu token, e outro no arquivo index.php para caso ainda não esteja definido por algum motivo, defini-lo novamente, o PagSeguro faz a validação, retorna VERIFICADO, envia o e-mail para o cliente avisando se foi aprovado, cancelado, etc, porém, a única coisa que não está fazendo no script inteiro, é a query..
Estou quebrando a cabeça, realmente não sei o que eu fiz de errado.. Se eu achar o erro que cometi, postarei aqui!
define ('TOKEN', 'MEU TOKEN');
Isira isso na primeira linha...
Lembrando que seu token deve estar atualizado, para a validação der certo...