FixBoot 0 Denunciar post Postado Novembro 21, 2011 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
brunoban 0 Denunciar post Postado Novembro 28, 2011 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
visitante_php 0 Denunciar post Postado Novembro 28, 2011 verifica se o form foi submetido if($_SERVER['REQUEST_METHOD'] == 'POST'){...... Compartilhar este post Link para o post Compartilhar em outros sites
FixBoot 0 Denunciar post Postado Novembro 28, 2011 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