Jump to content
Fórum Script Brasil
  • 0

Formulário PHP


daniel_elias_2015
 Share

Question

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 protected]');
          $mail->AddBcc('[email protected]');          
      /*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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...