Ir para conteúdo

POWERED BY:

Arquivado

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

daniel_elias_2015

Formulário em PHP

Recommended Posts

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 padrao o nome informado no formulario*/
$mail->FromName = $nome;
/*Responder para, por padrao 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?

 

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.