..:: MX Studio Fóruns ::..: Enviar E-mail. - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Enviar E-mail. Com validação em Javascript.

#1 User is offline   Leonardo_C_P_ 

  • Group: Membros
  • Posts: 379
  • Joined: 09-May 06

Posted 14 June 2006 - 07:41 PM

E aê pessoal, vou postar aqui um script que envia e-mail e valida ainda em Javascript.


É muito fácil, vamos começar.


Primeiro, criemos o arquivo:

css.css
JavaScript
.campo {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #333333;
border: 1px solid #006633;
background-color: #FAFAFA;
position: center;
}
.campo_alerta
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #333333;
border: 1px solid red;
background-color: #FAFAFA;
position: center;
}




Agora, criemos o arquivo:

js.js
JavaScript
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
function desabilita_cor(campo) {
campo.className='campo'
}
function confirma() {
if (document.formulario.nome.value == ""){
alert("Por favor, digite o seu nome.");
formulario.nome.className='campo_alerta';
formulario.nome.focus();
ok = false;
return(false);
}
if(document.formulario.email.value != ""){
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
var returnval=emailfilter.test(formulario.email.value)
if (returnval==false){
alert("Por favor, insira um e-mail válido.")
formulario.email.className='campo_alerta';
formulario.email.focus();
ok = false;
return(false);
}
}else{
alert("Por favor, digite o seu email.");
formulario.email.className='campo_alerta';
formulario.email.focus();
ok = false;
return(false);
}
if (document.formulario.assunto.value == ""){
alert("Por favor, digite o assunto.");
formulario.assunto.className='campo_alerta';
formulario.assunto.focus();
ok = false;
return(false);
}
if (document.formulario.mensagem.value == ""){
alert("Por favor, digite a mensagem.");
formulario.mensagem.className='campo_alerta';
formulario.mensagem.focus();
ok = false;
return(false);
}
document.formulario.submit();
}



E agora para terminar, criemos o arquivo:

email.php
PHP
<html>
<head>
<title>Sistema de Email</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<link href="css.css" rel="stylesheet" type="text/css">
<script src="js.js"></script>
<body><form action="" method="post" name="formulario" id="nome">
<p align="center">Seu Nome: <acronym title="Ex.: Fulano"> <br>
  <input name="nome" type="text" class="campo" id="nome" size="50" maxlength="50" onkeypress="desabilita_cor(this)">
  </acronym> <br>
  Seu E-mail: <acronym title="Ex.: email@dominio.com.br"> <br>
  <input name="email" type="text" class="campo" id="email" size="50" maxlength="50" onkeypress="desabilita_cor(this)">
  </acronym> <br>
  Assunto:&nbsp; &nbsp; &nbsp; <br>
  <input name="assunto" type="text" class="campo" id="assunto" size="50" maxlength="100" onkeypress="desabilita_cor(this)">
  <br>
  Mensagem <br>
  <textarea name="mensagem" cols="50" rows="10" class="campo" id="mensagem" onkeypress="desabilita_cor(this)"></textarea>
  <br>
  <input type="hidden" value="1" name="hidden">
</p>
<p align="center"> 
  <input type="button" name="Submit" value="Enviar email." class="campo" onClick="confirma()">
</p>
</form>
<br>
<?
  
if(isset($_POST['hidden'])){
  if(isset(
$_POST['nome']) AND isset($_POST['email']) AND isset($_POST['assunto']) AND isset($_POST['mensagem'])){
$assunto $_POST['assunto'];
$seu_nome $_POST['nome'];
$seuemail $_POST['email'];
if (
eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$"$email)){
$_POST['mensagem'] = str_replace("\n""<br />"$_POST['mensagem']);
$mensagem $_POST['mensagem'];
$mail "seuemail@dominio.com";

                    
$headers "MIME-Version: 1.0\n";
                    
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
                    
$headers .= "De: $seu_nome<" $seuemail ">";         
                    
$subject="Sistema de Email!";
                    
$mensagem_total "Sistema de E-Mail. <br><br>
                    Enviado Por: $seu_nome($seuemail)<br><br><br>
                    Assunto: $assunto.<br>
                    Mensagem:<br><br>$mensagem"
;                      
                    if (
$assunto and $seu_nome and $seuemail and $mensagem) {

   
mail($mail$subject$mensagem_total"$headers");
   echo 
"<script>alert('Email enviado!')</script>";
   echo 
'<br>Email enviado com sucesso.';
} else {
    echo 
"<script>alert('Preencha todos os campos para enviar o email!')</script>"
    echo 
'<br>Erro no envio do email.';
}    
}else{
echo
'<br>Preencha o E-mail corretamente.';

}else{
echo
'<br>Preencha todos os campos corretamente.';

}  
?>
</body>
</html>



PReste atenção que o email.php é HTML + PHP.

Por isso, mas fácil de usar.


Qualquer duvida é só postar !



Abraços !
0

#2 User is offline   NightShadow 

  • Group: Membros
  • Posts: 4
  • Joined: 20-June 06

Posted 20 June 2006 - 03:11 PM

muito bom o script, bem facil de entender, simples e útil.....
0

#3 User is offline   FelipeGuitar 

  • Group: Membros
  • Posts: 3
  • Joined: 24-October 06

Posted 26 October 2006 - 10:27 AM

oi vc poderia me explicar melhor?? me add no msn: felipeguitar.cps@gmail.com


eu nao intendi c tem q cria 3 paginas ou uma só....
0

#4 User is offline   marcel crispim 

  • Group: Membros
  • Posts: 113
  • Joined: 30-March 07

Posted 03 April 2007 - 05:10 PM

QUOTE(FelipeGuitar @ 26/10/2006 09:10:11) View Post
oi vc poderia me explicar melhor?? me add no msn: felipeguitar.cps@gmail.com


eu nao intendi c tem q cria 3 paginas ou uma só....

Como você pode perceber, o leonardo indicou o nome de cada arquivo em cima do código do mesmo.
no tutorial dele, existem 3 arquivos:
  1. js.js
  2. css.css
  3. email.php

bom, estou supondo que você saiba o que é um arquivo...
0

#5 User is offline   marcel crispim 

  • Group: Membros
  • Posts: 113
  • Joined: 30-March 07

Posted 03 April 2007 - 05:35 PM


QUOTE
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", $email)

Dava pra explicar o que significa estas duas linhas?


QUOTE
if(isset($_POST['hidden'])){
if(isset($_POST['nome']) AND isset($_POST['email']) AND isset($_POST['assunto']) AND isset($_POST['mensagem'])){

Porque você colocou esse if(isset($_POST['hidden'])){ no começo?


QUOTE
mail($mail, $subject, $mensagem_total, "$headers");
echo "<script>alert('Email enviado!')</script>";
echo '<br>Email enviado com sucesso.';

neste trecho voce não verificou se o e-mail foi enviado, e já colocou uma mensagem de sucesso. isso tá certo?
0

#6 User is offline   Leonardo_C_P_ 

  • Group: Membros
  • Posts: 379
  • Joined: 09-May 06

Posted 07 April 2007 - 06:19 PM

1 - Estás duas linhas são Expressões Regulares para verificar se os dados passados são realmente e-mails.

2 - Esse Hidden é para verificar se realmente foi enviado os dados, podia ter feito pelo submit, mas não quis.

3 - Eu realmente não fiz a verificação, para fazer, é só definir uma variavel direto no envio, e ver se a váriavel é true ou false.


Um abraço.
0

#7 User is offline   marcel crispim 

  • Group: Membros
  • Posts: 113
  • Joined: 30-March 07

Posted 09 April 2007 - 05:43 PM

QUOTE(Leonardo_C_P_ @ 7/4/2007 17:04:21) View Post
2 - Esse Hidden é para verificar se realmente foi enviado os dados, podia ter feito pelo submit, mas não quis.

Explique melhor como funciona esse submit..
0

#8 User is offline   Leonardo_C_P_ 

  • Group: Membros
  • Posts: 379
  • Joined: 09-May 06

Posted 09 April 2007 - 07:10 PM

Esse Hidden e o submit, são várias já definidas que vão confirmar se o usuário realmente apertou em enviar.

Se não, quando ele já acessar a página, o sistema vai tentar enviar o e-mail sem as informações.

É só mesmo para confirmar que foi apertado o botão de enviar.


Um abraço.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


Similar Topics Collapse

  Topic Forum Started By Stats Last Post Info
New Replies Como contar registros e fazer a consulta? Projeto :: Lumine dlemes 
  • 2 Replies
  • 4866 Views
New Replies Flash X Internet Explorer
Como faço para tirar as bordas dos swf?
Flash & ActionScript JrGalvani 
  • 1 Reply
  • 2208 Views
New Replies DVD de dados com exe Director Kmelek 
  • 2 Replies
  • 2343 Views
New Replies spam
como fazer ?
Outros SOAD 
  • 12 Replies
  • 2821 Views
Poll (No New) Enquete:    Problemas com transição
Esse BUG é nativo do Flash ou falta algo no código?
Flash & ActionScript Eduardo Louzada 
  • 10 Replies
  • 1136 Views

Publicidade




2 User(s) are reading this topic
0 membro(s), 2 visitante(s) e 0 membros anônimo(s)