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

Formulário PHP


daniel_elias_2015

Pergunta

Tenho um formulário em PHP, quando ele é preenchido e anexado alguma coisa nele, a mensagem final chega completa ao email; Mas quando deixa de anexar algum arquivo, a mensagem final não chega. Alguém sabe o que pode ser?

 

Códigos a seguir:

 

config.php

 

<?php
    /*Altere a cor que o campo ficará caso algum erro na validação, na variável $corerro*/
    $aviso = false; $classaviso = 'none'; $corerro = '#FFBABA';
    /*Defina aqui todos os campos do formulário na ordem Label,
    *name do input ou textarea,
    *valor inicial do campo (dica do que preencher),caso textarea, informe 'textarea',
    *caso textarea crie um array e defina rows e cols, conforme no exemplo abaixo,
    *defina no final se o campo é obrigario ou não com 1 ou 0
    **/
    $arraycampos = array(
                         array('<b>Nome</b>','nome','Informe seu nome','obrigatorio'=>1),
                         array('<b>E-mail</b>','email','Informe seu email','obrigatorio'=>1),
                         array('<b>Telefone</b>','telefone','Informe seu telefone','obrigatorio'=>0),
                         array('<b>Cidade</b>','cidade','Informe sua cidade','obrigatorio'=>0),
                         array('<b>Assunto</b>','assunto','Informe o assunto','obrigatorio'=>1),                        
                         array('<b>Anexo</b>','anexo','Incluir Arquivo Anexo', 'file', 'obrigatorio'=>0),
                         array('<b>Mensagem</b>','mensagem','Escreva sua mensagem','textarea',
                               array('rows'=>'8', 'col'=>'20'),'obrigatorio'=>1
                               )
                         );
    function validacao($arraycampos){
        $return = array();
        if(isset($_POST)){
            for($i=0;$i<count($arraycampos);$i++){
                $campo = $arraycampos[$i][1];
                if(isset($arraycampos[$i]['obrigatorio'])){
                    $obrigatorio = $arraycampos[$i]['obrigatorio'];
                }else{
                    $obrigatorio = false;
                }
                if(isset($_POST[$campo])){
                    if($obrigatorio){
                        if(trim($_POST[$campo])=='' || $_POST[$campo] == $arraycampos[$i][2]){
                            $return[] = $campo;
                        }
                    }
                }
            }
            
        }else{
            return false;
        }
        return $return;
    }
    /*Campos com erro*/
    $campoerror = validacao($arraycampos);
    if(sizeof($campoerror) > 0){
        $aviso = array();
        $aviso[0] = 'Erro:<br>';
        for($i=0;$i<count($campoerror);$i++){
            $aviso[0] .= 'O campo '.$campoerror[$i].' é obrigatorio.<br>';
        }
        $aviso[1] = 0;
    }


?>

 

---------------------------------------------------------------------------------------------------------

enviaemail.php

 

<?php
/*Configuracaoo do seu e-mail*/
$email_do_seu_site = "emailqualquer";
$senha_do_seu_email = "senha";
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = 'TRABALHE CONOSCO';
$mensagem = $_POST['mensagem'];

$html = '<html>   
          <body>';
            for($i=0;$i<count($arraycampos);$i++){
                $campo = $arraycampos[$i][1];
        if(isset($arraycampos[$i][3]) && isset($arraycampos[$i][3]) == 'file'){
            continue;
        }
$html .= '<p>'.$arraycampos[$i][0].': '.(isset($_POST[$campo])&& $_POST[$campo]!=$arraycampos[$i][2]?$_POST[$campo]:'').' </p>';
            }
          require_once('setmail.php');
          $mail->ClearAddresses();
      //LISTA DE ENDERECOS QUE DEVE SER MANDADO O E-MAIL
          /*Nome da pessoa que enviou a mensagem, por padrão o nome informado no formulario*/
          $mail->FromName = $nome;
          /*Responder para, por padrão o e-mail informado no formulario*/
          $mail->AddReplyTo($email);
          $mail->AddAddress($email_do_seu_site,'TRABALHE CONOSCO');
          $mail->AddAddress($email,$nome);
          $mail->AddBcc('email@email.com.br');
          $mail->AddBcc('email2@email.com.br');          
      /*Se alterar o nome do campo file, mude o nome da varival anexo*/
      $nome_anexo = 'anexo';
      if (isset($_FILES[$nome_anexo]) && $_FILES[$nome_anexo]['error'] == UPLOAD_ERR_OK) {
        $mail->AddAttachment($_FILES[$nome_anexo]['tmp_name'],
                $_FILES[$nome_anexo]['name']);
        $html .= '<strong>MENSAGEM: </strong>';
        $html .= $mensagem;
      }
      $mail->Subject = $assunto;
      $html .= '';
      $msg = utf8_decode($html);
      $mail->Body = $msg;
      
           
          //ENVIANDO E RETORNANDO STATUS DO ENVIO
      if(!$mail->Send()){   
            //ERRO NO ENVIO
            $aviso = array("Ocorreu um erro no envio do e-mail: '.$email.'. Erro: ".$mail->ErrorInfo,0); //FUNCAO INFORMA O ERRO OCORRIDO //  
      }
    
?>


<!-- depois de enviado o email... -->
<script language="JavaScript">alert('A sua mensagem foi enviada com sucesso!');
location.href='trabalheconosco2.php';</script>
<!-- retorna para o index.. pode definir outra pagina tb... -->

 

 

PRECISO ENVIAR OS OUTROS CÓDIGOS OU SÓ POR ESSES DÁ PARA VER O ERRO?

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...