Ir para conteúdo

POWERED BY:

Arquivado

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

Felipe Sartori

[Resolvido] Formulário de Contato

Recommended Posts

Pessoal, fiz tudo certinho, depois irei disponibilizar para vocês só estou com um probleminha, eu recebo o email mas não há nada no conteúdo do email, apenas aparece:

 

 

ENVIADO POR:

 

Nome:

 

Email:

 

Telefone:

 

Sexo: masculino

 

Cursos:

 

Mensagem:

 

ENVIADO EM: 11/07/2012 07:29

 

 

Códigos:

INDEX.HTML

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulario de Contato</title>
<link rel="stylesheet" type="text/css" href="estilos.css" />
<script type="text/javascript">
function MM_validateForm() { //v4.0
 if (document.getElementById){
   var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
   for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
     if (val) { nm=val.name; if ((val=val.value)!="") {
       if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
         if (p<1 || p==(val.length-1)) errors+='- '+nm+' precisa conter um email de Email.\n';
       } else if (test!='R') { num = parseFloat(val);
         if (isNaN(val)) errors+='- '+nm+' precisa conter apenas números.\n';
         if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
           min=test.substring(8,p); max=test.substring(p+1);
           if (num<min || max<num) errors+='- '+nm+' Precisa conter apenas números.'+min+' and '+max+'.\n';
     } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' é obrigatório..\n'; }
   } if (errors) alert('Os seguintes erro(s) ocorreram:\n'+errors);
   document.MM_returnValue = (errors == '');
} }
</script>
</head>

<body>
<form action="form.php" method="post" name="form1" id="form1" onsubmit="MM_validateForm('Nome','','R','Email','','RisEmail','Telefone','','NisNum','Mensagem','','R');return document.MM_returnValue">
 <p>Nome: 
   <span id="oi">*</span>
   <label for="Nome"></label>
 <input name="Nome" type="text" id="nome" value="" size="60" />
 </p>
 <p>E-mail: 
   <label for="Email"></label>
   <span id="oi">*</span>
   <input name="Email" type="text" id="email" value="" size="45" />
 </p>
 <p>Telefone: 
   <label for="Telefone"></label>
   <input name="Telefone" type="text" id="telefone" value="" size="20" />
 </p>
 <p>Sexo: 
   <input type="Radio" name="sexo" id="fem" value="feminino" />
   <label for="fem"></label>
   Feminino 
   <input type="Radio" name="sexo" id="mas" value="masculino" />
   <label for="mas"></label>
 Masculino</p>
 <p>Cursos: 
   <input name="Cursos" type="checkbox" id="cursos" value="Dreamweaver" />
   <label for="Cursos"></label>
   HTML 
   <input name="Cursos" type="checkbox" id="cursos" value="Fireworks" />
   <label for="Cursos"></label>
   CSS 
   <input name="Cursos" type="checkbox" id="cursos" value="Photoshop" />
   <label for="Cursos"></label>
   <label for="Cursos"></label>
PHP  </p>
 <p>Mensagem: <span id="oi">*</span></p>
 <p>
   <label for="Mensagem"></label>
   <textarea name="Mensagem" id="mensagem" cols="45" rows="5"></textarea>
 </p>
 <p>
   <input type="Submit" name="Enviar" id="Enviar" value="Enviar" />
   <input type="Reset" name="Limpar" id="Limpar" value="Limpar" />
 </p>
 <p>Os campos que possui <span id="oi">*</span> são obrigatórios.</p>
</form>
</body>
</html>

 

 

ENVIADO.HTML

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulario de Contato</title>
<meta http-equiv="Refresh" content="5;URL=index.html" />
<link rel="stylesheet" type="text/css" href="estilos.css" />
</head>

<body>
<div id="enviado">
<p>Suas informações foram enviadas com sucesso!</p>
<p>Você será automaticamente redirecionado á página inicial em 5 segundos.</p>
<p>Caso isso não aconteça <a href="index.html">clique aqui</a>.</p>
</div>
</body>
</html>

 

 

ESTILOS.CSS

 

@charset "utf-8";
/* CSS Document */

body{
background-color:#999;
font-family:Verdana, Geneva, sans-serif;
font-size:12px;
}
input, textarea {
background-color:#FFFFF;
padding:3px;
font-family:Verdana, Geneva, sans-serif;
}

textarea {
overflow:hidden
}

#enviado {
text-align:center;
}
#oi {
color: #F00;
}

 

 

FORM.PHP

 

 <?php
$date = date("d/m/Y h:i");

// RECEBE OS VALORES VINDO DO FORMULÁRIO E ATRIBUI AS VARIÁVEIS
$nome = $_POST['Nome'];
$email = $_POST['Email'];
$telefone = $_POST['Telefone'];
$sexo = $_POST['Sexo'];
$cursos = $_POST['Cursos'];
$mensagem = $_POST['Mensagem'];

//CABEÇALHO - ONFIGURAÇÕES SOBRE SEUS DADOS E SEU WEBSITE
$nome_do_site="Felipe Sartori";
$email_para_onde_vai_a_mensagem = "fezzinn@xtibia.com";
$nome_de_quem_recebe_a_mensagem = "Felipe";
$exibir_apos_enviar='enviado.html';

//MAIS - CONFIGURAÇOES DA MENSAGEM ORIGINAL
$cabecalho_da_mensagem_original="De: $Nome <$email>\n";
$assunto_da_mensagem_original="Contato do Site";

// FORMA COMO RECEBERÁ O E-MAIL (FORMULÁRIO)
// ******** OBS: SE FOR ADICIONAR NOVOS CAMPOS, ADICIONE OS CAMPOS NA VARIÁVEL ABAIXO *************
$configuracao_da_mensagem_original="

ENVIADO POR:\n
Nome: $Nome\n
Email: $Email\n
Telefone: $Telefone\n
Sexo: $Sexo\n
Cursos: $Cursos\n
Mensagem: $Mensagem\n
ENVIADO EM: $date

";

//CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA
// CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO
// "Re: $assunto"
$assunto_da_mensagem_de_resposta = "Confirmação do Site";
$cabecalho_da_mensagem_de_resposta = "De: $nome_do_site < $email_para_onde_vai_a_mensagem>\n";
$configuracao_da_mensagem_de_resposta="Obrigado por entrar em contato!\nEstaremos respondendo em breve...\nAtenciosamente,\n$nome_do_site\n\nEnviado em: $date";

// ****** IMPORTANTE ********
// A PARTIR DE AGORA RECOMENDA-SE QUE NÃO ALTERE O SCRIPT PARA QUE O SISTEMA FINCIONE CORRETAMENTE
// ****** IMPORTANTE ********

//ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO
//POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME
//'assunto' NO FORMULARIO DE ENVIO
$assunto_digitado_pelo_usuario="s";

//ENVIO DA MENSAGEM ORIGINAL
$headers = "$cabecalho_da_mensagem_original";

if($assunto_digitado_pelo_usuario=="n"){
$assunto = "$assunto_da_mensagem_original";
}
$seuemail = "$email_para_onde_vai_a_mensagem";
$mensagem = "$configuracao_da_mensagem_original";
mail($seuemail,$assunto,$mensagem,$headers);

//ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA
$headers = "$cabecalho_da_mensagem_de_resposta";
if($assunto_digitado_pelo_usuario=="n"){
$assunto = "$assunto_da_mensagem_de_resposta";
}else{
$assunto = "Re: $assunto";
}

$mensagem = "$configuracao_da_mensagem_de_resposta";
mail($email,$assunto,$mensagem,$headers);
echo "<script>window.location='$exibir_apos_enviar'</script>";

?>

 

 

Obrigado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

#Nicolas;

Apenas o FORM.PHP não fui eu que desenvolvi, peguei em uma VIDEO-AULA que está no www.youtube.com, se quiser posso passar o link também, bem explicadinho a VIDEO-AULA e com isso consegui fazer o MEU formulário.

O professor da VIDEO-AULA apenas disponibilizou o FORM.PHP

 

#Andre Campos;

Sim, arrumei obrigado!

Só o problema é que tipo, SEXO não está aparecendo no email, e está sem assunto o email :c

Compartilhar este post


Link para o post
Compartilhar em outros sites

#Andre Campos;

Sim, arrumei obrigado!

Só o problema é que tipo, SEXO não está aparecendo no email, e está sem assunto o email :c

 

Novamente letras maiúsculas. No caso no HTML o name do campo de sexo está em minúsculo, e no PHP começa em maiúsculo.

 

Sobre o assunto, não vi a variável $assunto definida fora de condições. Bem provável que chegue vazio ou "Re: " somente.

 

Mas a maioria do que falo são somente suposições. PHP eu me limito a entender o "grosso" e não avacalhar meu código HTML, hehe... :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

#André;

Obrigado, a parte de SEXO eu consegui, oque está faltando mesmo é sobre o assunto, eu não estou conseguindo, quando chega o email aparece "(Sem Assunto)" e a pessoa que manda é "root".

 

@Edit:

http://brbot.net/contato/index.html

 

Confira como está :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Root talvez é porque o envio é realizado pelo servidor, e não por um cliente de e-mail real.

 

Daqui pra frente sugiro postar na área de PHP, pois lá eles te ajudarão melhor, inclusive dando várias dicas e alternativas que você precisar. :thumbsup:

 

---

 

Acabei de ver o link. Sugiro que o valide de verdade, ou retire o link do ar. Pra evitar ação de robôs. Mantendo assim você pode se assustar com uma onda de e-mails, e ainda ter sua hospedagem listada em black-lists. :upset:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta bom, vou tirar eu só coloquei porque não da para testar em localhost apenas com Apache!

Obrigado, vou postar lá :)

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.