[Resolvido] Formulário de contato
criei um formulário de contato email_form.php
e o email.php coleta os dados e me envia para o email...
porém alguns campos ele me envia normal, exceto os campos "telefone" e "site"..
Por favor analizem... me ajudem encontrar o erro... Eu imagino onde seja, porem naum consigo a solução... :(
segue o email_form.php
<script>
function mascara(o,f){
v_obj=o
v_fun=f
setTimeout("execmascara()",1)
}
function execmascara(){
v_obj.value=v_fun(v_obj.value)
}
function leech(v){
v=v.replace(/o/gi,"0")
v=v.replace(/i/gi,"1")
v=v.replace(/z/gi,"2")
v=v.replace(/e/gi,"3")
v=v.replace(/a/gi,"4")
v=v.replace(/s/gi,"5")
v=v.replace(/t/gi,"7")
return v
}
function soNumeros(v){
return v.replace(/\D/g,"")
}
function telefone(v){
v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
v=v.replace(/(\d{4})(\d)/,"$1-$2") //Coloca hífen entre o quarto e o quinto dígitos
return v
}
function cpf(v){
v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
v=v.replace(/(\d{3})(\d)/,"$1.$2") //Coloca um ponto entre o terceiro e o quarto dígitos
v=v.replace(/(\d{3})(\d)/,"$1.$2") //Coloca um ponto entre o terceiro e o quarto dígitos
//de novo (para o segundo bloco de números)
v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
return v
}
function cep(v){
v=v.replace(/D/g,"") //Remove tudo o que não é dígito
v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
return v
}
function cnpj(v){
v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
v=v.replace(/^(\d{2})(\d)/,"$1.$2") //Coloca ponto entre o segundo e o terceiro dígitos
v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
v=v.replace(/\.(\d{3})(\d)/,".$1/$2") //Coloca uma barra entre o oitavo e o nono dígitos
v=v.replace(/(\d{4})(\d)/,"$1-$2") //Coloca um hífen depois do bloco de quatro dígitos
return v
}
function romanos(v){
v=v.toUpperCase() //Maiúsculas
v=v.replace(/[^IVXLCDM]/g,"") //Remove tudo o que não for I, V, X, L, C, D ou M
//Essa é complicada! Copiei daqui: http://www.diveintopython.org/refactoring/refactoring.html
while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
v=v.replace(/.$/,"")
return v
}
function site(v){
//Esse sem comentarios para que você entenda sozinho ;-)
v=v.replace(/^http:\/\/?/,"")
dominio=v
caminho=""
if(v.indexOf("/")>-1)
dominio=v.split("/")[0]
caminho=v.replace(/[^\/]*/,"")
dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
caminho=caminho.replace(/([\?&])=/,"$1")
if(caminho!="")dominio=dominio.replace(/\.+$/,"")
v="http://"+dominio+caminho
return v
}
</script>
<form name="form1" method="post" action="email.php">
<table width="100" border="0" cellspacing="0" cellpadding="0" align="center">
<tr bgcolor="#FFFF00">
<td valign="top" width="100" nowrap><font class="texto">Nome:</font></td>
<td>
<input class="form_campos" type="text" name="nome" size="23"/>
</td>
</tr>
<tr bgcolor="#FFFF00">
<td valign="top" width="100" nowrap><font class="texto">Telefone:</font></td>
<td>
<input id="itelefone" onkeypress="mascara(this,telefone)" maxlength="14" />
</td>
</tr>
<tr bgcolor="#FFFF00">
<td valign="top" width="100" nowrap><font class="texto">E-mail:</font></td>
<td>
<input class="form_campos" type="text" name="email" size="23"/>
</td>
<tr bgcolor="#FFFF00">
<td valign="top" width="100" nowrap><font class="texto">Site:</font></td>
<td>
<input id="isite" onkeyup="mascara(this,site)" value="http://" />
</tr>
<tr bgcolor="#FFFF00">
<td valign="top" width="100" nowrap><font class="texto">Assunto:</font></td>
<td>
<select class="form_campos" name="assunto">
<option class="form_campos" value="Opinião" selected>Opinião</option>
<option class="form_campos" value="Sugestão">Sugestão</option>
<option class="form_campos" value="Parceria">Parceria</option>
<option class="form_campos" value="Reclamação">Reclamação</option>
<option class="form_campos" value="Outros">Outros</option>
</select>
</td>
</tr>
<tr bgcolor="#FFFF00">
<td valign="top" width="100" nowrap><font class="texto">Mensagem:</font></td>
<td>
<textarea class="form_campos" name="mensagem" cols="22" rows="6" size="auto"></textarea>
</td>
</tr>
<tr bgcolor="#FFFF00">
<td colspan="2" valign="middle">
<br>
<div align="center">
<input class="form_botao" type="submit" name="Enviar" value="Enviar Mensagem">
<input class="form_botao" type="reset" name="Limpar" value="Limpar">
</div>
</td>
</tr>
</table>
</form>
segue o email.php
<?php
//Formulário de Contato | Versão 7.5 (klebrr)<br>
//Autor Original: Autor Original: Apoena
//http://www.phpbrasil.com
// adaptado em 05/09/2005 - kleber (klebrr em klebrr.com)
// não funcionava com php 5.0.1 e 5.0.4 (Testado apenas no Linux)
// dispensei o include (config.php) pra ficar num só arquivo
echo "<html>
<head>
<title> Processando... </title>
<link rel=\"stylesheet\" href=\"class.css\" type=\"text/css\">
</head>";
// Variaveis originadas no email_form.php
$nome = $_POST['nome'];
$itelefone = $_POST['telefone'];
$email = $_POST['email'];
$isite = $_POST['site'];[/color]
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
// adicionei a captura do ip do remetente
$ip = $_SERVER['REMOTE_ADDR'];
//Seu email, para onde irao as informações do formulário
$mail_destino = "deidvi_junio@hotmail.com";
echo "<body bgcolor=\"#FFFFFF\" leftmargin=\"10\" topmargin=\"10\" marginwidth=\"0\" marginheight=\"0\">
<center><font class=\"texto\">";
//Mensagem de cabeçalho do email
$mail_header = "Mensagem de Contato Pelo SITE.";
//Mensagem para o email de resposta
$msg_reply = "Olá $nome,\nRecebemos o seu email com o assunto $assunto.\n\nSe necessário em breve entraremos em contato, respondendo a sua questão. Obrigado pelo seu contato!\n\n Esta é uma mensagem automática de confirmação.\n Por Favor não responda este e-mail.\n $ip";
//Mensagem de Erro
$msg_erro = "Atenção!! Todos os campos devem ser Preenchidos (Nome, Telefone, E-mail e Mensagem ).";
//Endereço do seu SMTP (para se conectar no SMTP) (acho que é só para windows afinal não tem postfix ou sendmail)
//$msg_smtp_url = "<p>smtp.prov.com.br</p>";
//Login do seu SMTP (para se conectar no SMTP)
//$msg_smtp_login = "";
//Senha do seu SMTP (para se conectar no SMTP)
//$msg_smtp_senha = "";
//Obrigatoriedade
if ($nome!="" and $assunto!="" and $email!="" and $itelefone!="")
{
$msg.="$mail_header\n\n";
$msg.="Nome: $nome\n";
$msg.="Telefone: $itelefone\n";
$msg.="Email: $email\n";
$msg.="Site: $isite\n";
$msg.="Assunto: $assunto\n";
$msg.="Mensagem: $mensagem\n";
$msg.="ip de origem: $ip";
if (mail($mail_destino, "Formulário de Contato Pelo SITE: $assunto", $msg, "From:$nome<$email>"))
{
//Imprimindo confirmação de envio
echo
" </font></center>
<html>
<meta http-equiv=refresh content=10;URL=./formulario.php></html>";
echo "<font class=\"texto\">";
echo "<b>Olá! $nome</b>,<br><br>sua mensagem:<br> <font color=\"#FF0000\"><b>$mensagem </b></font><br>Foi enviada com sucesso!<br><br>";
echo "Obrigado!<br>você receberá um e-mail de confirmação desta mensagem<br><br>Seu endereço de ip: <b>$ip</b></font>
";
//Enviando mensagem de confirmação para o email do internauta
mail("$nome<$email>", "Re: Formulário de Contato: $assunto", $msg_reply, "From:<Chaveiro Vila Brasilia>");
}
else
echo
"
<meta http-equiv=refresh content=3;URL=../>
</html><center><br><br><font color=red>
<b>Erro ao enviar e-mail!</b>
</font></center>
";
}else
{
//Alerta sobre os campos obrigatórios
echo
"
<br><br><center>
$msg_erro <br><br>
<a href=\"javascript:window.history.go(-1)\" class=\"links\">Por favor, volte e preencha corretamente.</a>
</center>
";
}
?>
Imagino ki o erro seja na especificação dos campos, colokei os nomes: $itelefone, $isite... tenho certeza ki tá errado... mais tentei de todas as formas e naum consegui... me ajudem por favor... é pra um cliente meu! :joia:Discussão (6)
Carregando comentários...