Ir para conteúdo

POWERED BY:

Arquivado

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

FixBoot

[Resolvido] Confirmação do PHPMailer

Recommended Posts

Ola, Estou fazendo um formulario que envia arquivos, o envio esta correto, recebo o email com o anexo e tudo...

 

Para saber se enviou ou não eu criei dois blocos ('enviado' e 'error')...

Seguinte, quando eu entro na pagina onde esta o formulario, ele ja mostra o bloco de 'enviado', isso sem eu ter submetido nada, ai quando eu clico enviar o formulario só sei que enviou porque ele zera os campos, mas o usuario que ira se cadastrar precisa saber... eis os códigos

 

o HTML

<div id="miolo">

 

<div id="miolo_top">

<table width="0%" border="0" cellspacing="3" cellpadding="0">

<tr>

<td><img src="../img/images/arrow_baixo.png" alt="" width="14" height="15" /></td>

<td> </td>

<td>Trabalhe Conosco</td>

</tr>

</table>

</div>

 

<p class="Email"><strong>Email:</strong> atendimento@fatepa.net</p>

<p class="Aviso">Preencha todos os campos.</p>

<div id="miolo">

<br />

<!-- START BLOCK : enviado -->

<div style="background:#0C0; height:20px; width:255px; border-radius:10px;">

<p style="font-family:Verdana, Geneva, sans-serif; font-size:14px; margin-left:10px;">{msg}</p>

</div>

<!-- END BLOCK : enviado -->

 

<!-- START BLOCK : error -->

<div style="background:#C03; height:20px; width:255px; border-radius:10px;">

<p style="font-family:Verdana, Geneva, sans-serif; font-size:14px; margin-left:10px;">{msg}</p>

</div>

<!-- END BLOCK : error -->

 

<br />

<form action="../php/trabalhe_conosco.php?c=2" method="post" enctype="multipart/form-data" class="Form_Trabalhe_conosco">

<label>Nome:</label>

<input type="text" name="nome" class="nome" />

<br />

<label>Email:</label>

<input type="text" name="email" class="input"/>

<br />

<label>Assunto:</label>

<select class="assunto">

<option value="curriculo" name="Curriculo">Currículo</option>

</select>

<br />

<label>Currículo:</label>

<input type="file" class="curriculo" name="curriculo"/>

<br />

<label class="label_mensagem">Mensagem:</label>

<br>

<textarea class="mensagem" rows="4" cols="30" name="mensagem">Digite o nome da vaga que pretende ocupar.</textarea>

<br />

<input type="submit" value="Enviar" class="botao"/>

</form>

 

 

</div>

 

 

 

 

e o PHP

 

 

 

 

<?php

require_once('../inc/class.TemplatePower.php');

require_once('../inc/class.phpmailer.php');

$tpl = new TemplatePower('../tpl/default.htm');

$tpl->assignInclude('text', '../tpl/trabalhe_conosco.htm');

$tpl->prepare();

 

$conn = mysql_connect('---', '---', '---');

mysql_select_db('---', $conn);

################################################

 

include_once('../inc/menu.php');

 

function data_certa($val){

$separa = explode('-', $val);

$data = $separa[2] . "/" . $separa[1] . "/" .$separa[0];

return $data;

}

 

$c = $_GET['c'];

 

if(isset($_GET['idn'])){

 

$idn = $_GET['idn'];

 

$sql = "select * from tbl_noticias where cod_curso = $c and ativo_not = 'S' and id_noticias = $idn";

$res = mysql_query($sql);

$num = mysql_num_rows($res);

if($num > 0){

$tpl->newBlock('det_noticias');

$tpl->assign('idn', mysql_result($res, 0, 'id_noticias'));

$tpl->assign('c', $c);

$tpl->assign('cod_curso', mysql_result($res, 0, 'cod_curso'));

$tpl->assign('data_not', data_certa(mysql_result($res, 0, 'data_not')));

$tpl->assign('titulo_not', mysql_result($res, 0, 'titulo_not'));

$tpl->assign('resumo_not', mysql_result($res, 0, 'resumo_not'));

$tpl->assign('texto_not', mysql_result($res, 0, 'texto_not'));

}

 

$pasta= "../img/$idn/";

$dh = opendir($pasta);

$contando = 0;

$ordem = 0;

while (false !== ($nomearquivo = readdir($dh))) {

 

if(strstr($nomearquivo,'.jpg')){

 

$ordem++;

 

if(file_exists("../img/$idn/pq/$ordem.jpg")){

$nome = $ordem . ".jpg";

$contando ++;

if($ordem == 1){

$tpl->newBlock('abretbl');

$tpl->assign('nome', $nome);

$tpl->assign('id', $idn);

 

}

 

if ($ordem %4 == 0){

$fecha = 0;

$tpl->newBlock('fechacel');

$tpl->assign('nome1', $nome);

$tpl->assign('id1', $idn);

 

}

 

else{

if($ordem > 1){

$fecha = 1;

$tpl->newBlock('continua');

$tpl->assign('nome2', $nome);

$tpl->assign('id2', $idn);

}

}

 

 

}

}}

 

}

 

####################################

$nome = $_POST['nome'];

$email = $_POST['email'];

$subject = 'Curriculo';

$msg = $_POST['mensagem'];

$curriculo = $_FILES['curriculo'];

$curriculo_nome = $curriculo['name'];

$curriculo_caminho = $curriculo['tmp_name'];

#####################################

if(count ($_POST)){

if(empty($_POST['nome']) ){

$tpl->newBlock('error');

$tpl->assign('msg','Informe um Nome !');

}

if(empty($_FILES['curriculo']) ){

$tpl->newBlock('error');

$tpl->assign('msg','Carregue seu Curriculo!');

}

 

if(empty($_POST['email']) ){

$tpl->newBlock('error');

$tpl->assign('msg','Informe um Email !');

}else{

$email = $_POST['email'];

eregi("([\._0-9A-Za-z-]+)@([0-9A-Za-z-]+)(\.[0-9A-Za-z\.]+)",$email,$match);

if(!isset($match)){

$tpl->newBlock('error');

$tpl->assign('msg','Informe um Email Válido ! !');

}

}

}

 

 

$Email = new PHPMailer();

 

$Email->SetLanguage("br");

 

$Email->IsMail();

 

$Email->IsHTML(true);

 

$Email->From = $email;

 

$Email->FromName = $nome;

 

$Email->AddAddress('rafael.pezzetti@gmail.com');

 

$Email->Subject = $subject;

 

$Email->Body = $msg;

 

$Email->AddAttachment($curriculo_caminho, $curriculo_nome);

 

$enviado = $Email->Send();

 

 

 

$tpl->printToScreen();

 

?>

 

 

 

 

E agora o que eu faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu caro Rafael, eu ainda não testei, mas tente assim:

 

Para que funcione plenamente, você deve declarar o block "enviada" no corpo do seu php. Para o php saber quando ela será acionada.

Dessa forma no final do seu código php, antes de $tpl->printToScreen(); você pode colocar:

 

if($enviado)
// se for enviado com sucesso, ele chama o bloco enviada
{
$tpl->newBlock('enviada');
} else {
// se der erro ele chama esse outro bloco
$tpl->newBlock('naoenviada');
}

 

 

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver... eu coloquei todos os Códigos do $Email dentro do If(count ($_POST)){} ai sim, só executa após fazer todas as vereficações...

 

Obrigado pelo apoio !

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.