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

Erro num formulário


Diogo Freitas

Pergunta

Boa tarde,

Achei este código num tutorial aqui no scriptbrasil.

Fiz umas pequeninas alterações em termos de layout.

Tou com um problema que é o seguinte, o código é para enviar mails atraves de um site e com anexo. mas eu queria transformar o código para que os mails fossem todos para um email especificado.Por isso fiz o seguinte.

Código html:

<html>
<head>
<script language="javascript" type="text/javascript">

function checa_formulario(email){

    if (email.nome.value == ""){ 
  alert("Por Favor não deixe o seu nome em branco!!!");
   email.nome.focus();
    return (false); 
}

    if (email.email_from.value == ""){ 
  alert("Por Favor não deixe o seu email em branco!!!");
   email.email_from.focus();
    return (false); 
}

    if (email.email.value == ""){ 
  alert("não deixe o email destinatario em branco!!!");
   email.email.focus();
    return (false); 
}

    if (email.assunto.value == ""){ 
  alert("não deixe o assunto em branco!!!");
   email.assunto.focus();
    return (false); 
}

}
</script>
<title>Enviando texto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.email {
text-transform: lowercase;
}
.texto {
color: #999999;
font-family:Verdana, Arial, Helvetica, sans-serif
}
.style1 {color: #666666;
        font-family:Verdana, Arial, Helvetica, sans-serif}

-->
</style>
</head>

<body onLoad="document.email.nome.focus();">
<form onSubmit="return checa_formulario(this)" action="envia2.php" method="post" enctype="multipart/form-data" name="email">
  <h1 align="center" class="style1">Formulario de email com anexo </h1>
  <table width="32%"  border="0" align="center">
    <tr>
      <td><div align="right"><span class="texto">Nome</span></div></td>
      <td><input name="nome" type="text" id="nome"></td>
    </tr>
    <tr>
      <td width="33%"><div align="right" class="texto">De:</div></td>
      <td width="67%"><input name="email_from" type="text" class="email"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>
    </tr>
    <tr>
      <td><div align="right" class="texto">Assunto</div></td>
      <td><input name="assunto" type="text" id="assunto"></td>
    </tr>
    <tr>
      <td><div align="right" class="texto">Mensagem</div></td>
      <td><textarea name="mensagem" cols="50" rows="10" id="mensagem"></textarea></td>
    </tr>
    <tr>
      <td><div align="right" class="texto">Anexo</div></td>
      <td><input name="arquivo" type="file"></td>
    </tr>
    <tr>
      <td> </td>
      <td><input type="submit" name="Submit" value="Enviar"></td>
    </tr>
  </table>
</form>
</body>
</html>
código php:
<?php
$email_envio = "geral@uttil.com"; 

//pego os dados enviados pelo formulario
$nome = $_POST["nome"];
$mensagem = $_POST["mensagem"];
$assunto = $_POST["assunto"];
$email_from = $_POST["email_from"];

//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 50, "<br>", 1);

//valido os emails

if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email_from)){

echo "<center>Digite um email valido</center>";
echo "<center><a href=\"java script:history.go(-1)\"><center>Voltar</center></a>";
exit;

}


$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); 
$anexo = base64_encode($anexo); 

fclose($fp);

$anexo = chunk_split($anexo); 


$boundary = "XYZ-" . date("dmYis") . "-ZYX"; 

$mens = "--$boundary\n";
$mens .= "Content-Transfer-Encoding: 8bits\n";
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain
$mens .= "$mensagem\n";
$mens .= "--$boundary\n";
$mens .= "Content-Type: ".$arquivo["type"]."\n"; 
$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; 
$mens .= "Content-Transfer-Encoding: base64\n\n"; 
$mens .= "$anexo\n"; 
$mens .= "--$boundary--\r\n"; 

$headers = "MIME-Version: 1.0\n"; 
$headers .= "From: \"$nome\" <$email_from>\r\n"; 
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; 
$headers .= "$boundary\n";

//envio o email com o anexo 
mail($email,$assunto,$mens,$headers); 

echo"Email enviado com Sucesso!"; 

}

//se não tiver anexo
else{

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: \"$nome\" <$email_from>\r\n";

//envia o email sem anexo
mail($email,$assunto,$mensagem, $headers);

echo"Email enviado com Sucesso!"; 

}

?>

abraço

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

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