Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados boa noite.
Estou tendo problema em enviar anexo e informações do formulário via e-mail. Envia somente a informação de celular. Alguém pode dar uma luz no que está errado? Preciso enviar o email com/sem anexo e gravar as informações do formulário no banco de dados.
<?php
header('Content-Type: text/html; charset=utf-8');
// Inclui o arquivo que faz a conexão ao MySQL
include('Connections/commercial.php');
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');
// Manipulamos as variáveis para evitar problemas com aspas e outros caracteres protegidos do MySQL
$hoje_tmp = getdate();
$email_from = $_POST["email"];
$cellphone = $_POST["cellphone"];
$consuption = $_POST["consuption"];
$cep = $_POST["cep"];
$product = $_POST["product"];
$roof = $_POST["roof"];
$assunto = $_POST["subject"];
$client = $_POST["name"];
$email = "automatic@automatic.com.br";
//pego os dados enviados pelo formulario
$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 .= "<p>Nome: $client</p>" .
"<p>Cellphone: $cellphone</p>" .
"<p>Consumo: $consuption</p>" .
"<p>CEP: $cep</p>" .
"<p>Telhado: $roof</p>" .
"<p>Produto: $product\n</p>";
$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: \"$name\" <$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('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,$cellphone, $headers);
echo('Enviado com sucesso!');
}
$client = mysql_escape_string($client);
$cep = mysql_escape_string($cep);
$email_from = mysql_escape_string($email_from);
$cellphone = mysql_escape_string($cellphone);
$product = mysql_escape_string($product);
// Montamos a consulta SQL
$query1 = "INSERT INTO sales_clients (name, email, cellphone, cep, product, roof, consuption_average) VALUES ('".$client."', '".$email_from."', '".$cellphone."', '".$cep."', '".$product."', '".$roof."', '".$consuption."')";
// Executa a query
$inserir = mysql_query($query1);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tupã</title>
<script type="text/javascript">
window.setTimeout("location.href='index.php';", 2500);
</script>
</head>
<body>
</body>
</html>Como está o formulário?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tupã</title>
</head>
<body><H2>Solicitar orçamento</H2>
<p> </p>
<table width="100%" border="0">
<tr>
<td><form id="form1" name="form1" method="post" action="contactbudgetsend.php">
<table width="100%" border="0">
<tr>
<td width="40%" bgcolor="#E2E2E2">Nome:</td>
<td width="60%" bgcolor="#E2E2E2"><input type="text" name="name" id="name" /></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="email" name="email" id="email" required/></td>
</tr>
<tr>
<td bgcolor="#E2E2E2">Celular/telefone:</td>
<td bgcolor="#E2E2E2"><input type="text" name="cellphone" id="cellphone" placeholder="0XX999999999" required/></td>
</tr>
<tr>
<td>CEP:</td>
<td><input name="cep" type="text" id="cep" placeholder="99999999" required/></td>
</tr>
<tr>
<td bgcolor="#E2E2E2">Média mensal de consumo</td>
<td bgcolor="#E2E2E2"><input type="number" name="consuption" id="consuption" required/>
kWh/mês</td>
</tr>
<tr>
<td>Tipo de telhado</td>
<td><input type="text" name="roof" id="roof" /></td>
</tr>
<tr>
<td bgcolor="#E2E2E2">Número de fase do padrão</td>
<td bgcolor="#E2E2E2"><select name="n_phase" id="n_phase">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select></td>
</tr>
<tr>
<td>Anexe sua fatura de energia caso possível</td>
<td><input name="arquivo" type="file"></td>
</tr>
<tr>
<td bgcolor="#E2E2E2">Produto:</td>
<td bgcolor="#E2E2E2"><select name="product" id="product">
<option value="1">Sistema Fotovoltaico conectado a rede</option>
<option value="2">Sistema Fotovoltaico Isolado</option>
<option value="3">Sistema Fotovoltaico para suprimento de sistemas auxiliares</option>
<option value="4">Manutenção de Sistemas Fotovoltaicos</option>
</select></td>
<input name="subject" type="hidden" id="subject" value="Solicitação de orçamento">
</tr>
</table>
<p><center>
<input type="submit" name="button" id="button" value="Enviar solicitação" />
</center></p>
</form></td>
<td><p> * Realize sua solicitação gratuitamente preenchendo os campos ao lado e entraremos em contato!
</p>
<p>* Normalmente a média mensal de consumo pode ser verificada na sua fatura de energia. Caso contrário, basta somar o consumo dos últimos 12 meses e dividir por 12. Ou anexar uma foto da fatura de energia no campo logo abaixo.</p>
<p>* O número de fase pode ser encontrado na sua fatura de energia (monofásico = 1, bifásica = 2 e trifásica = 3).</p>
<p>* Descreva como é ou será o telhado onde pretende instalar o sistema, Exemplos: laje, telha de fibrocimento, telha metálica com ângulo de 5 graus.</p></td>
</tr>
</table>
<p><center><img src="imagens/budget-158926_640.png" width="422" height="640" border="0"></center></p>
</body>
</html>Você está enviando o formulário pelo método tradicional ou está usando algum tipo de requisição por ajax?
Pelo método tradicional.
Alguma sugestão?