sexta-feira, 2 de março de 2012

Flash - Formulário de Contato + PHP

Olá pessoal, neste post, vou mostrar como montar um Formulário de contato usando o Flash e enviando os dados ao PHP. Espero que seja útil.Então vamos trabalhar…A minha organização das camadas ficou da seguinte maneira:


camadas
Você pode manter a organização que quizer ok?
Agora vamos montar o nosso formulário, eu usei os seguintes campos: Nome, E-mail, Endereço, DDD, Telefone, Mensagem e os instânciei como: nome_txt, email_txt, endereco_txt, ddd_txt, telefone_txt, mensagem_txt, resposta_txt e pra finalizar instânciei o botão Enviar como enviar_btn.
 
O meu formulário ficou com a seguinte aparência:
formularioObs: O meu botão 
enviar é um MoveiClip, com três frames, nos quais criei a minha animação, como mostra a imagem abaixo:
fasesbotao

Agora vamos codificar nosso formulário, tratando os campos e validando os mesmos.
Para começar criei um arquivo de actionScript externo, tenho costume de sempre trabalhar dessa forma, mas fica a critério de cada um ok?! No meu arquivo de actionScript criei uma função que iniciar todos os campos em branco.
// Iniciando o formulário com todos
// os campos limpos.
function iniciar() {
nome_txt.text = “”;
email_txt.text = “”;
endereco_txt.text = “”;
ddd_txt.text = “”;
telefone_txt.text = “”;
mensagem_txt.text = “”;
};


Depois criei a function enviaDados, que tem a função de coletar os dados do Flash e enviar ao PHP:

// Função que coleta os dados no Flash e enviar
// para o PHP.
function enviaDados() {
resposta_txt.text = “”;
if (nome_txt.text eq “”) {
resposta_txt.text = “*Preencha o campo ‘Nome’”;
Selection.setFocus(“nome_txt”);
} else if (email_txt.text eq “”) {
resposta_txt.text = “*Preencha o campo ‘E-mail’”;
Selection.setFocus(“email_txt”);
} else if (email_txt.text.indexOf(“@”, 0) <= 0 || email_txt.text.indexOf(“.”, 0) <= 2) {
resposta.text = “*O e-mail informado é inválido”;
Selection.setFocus(“email_txt”);
} else if (mensagem_txt.text eq “”) {
resposta_txt.text = “*Digite uma mensagem para nós…”);
Selection.setFocus(“mensagem_txt”);
} else {
var objEnvia = new LoadVars();
objEnvia.nome = nome_txt.text;
objEnvia.email = email_txt.text;
objEnvia.endereco = endereco_txt.text;
objEnvia.ddd = ddd_txt.text;
objEnvia.telefone = telefone_txt.text;
objEnvia.mensagem = mensagem_txt.text;
var objRecebe = new LoadVars();
objRecebe.onLoad = function() {
if (objRecebe.myData == “true”) {
resposta_txt.text = “”;
resposta_txt.text = “E-mail enviado!!!”;
nome_txt.text = “”;
email_txt.text = “”;
endereco_txt.text = “”;
ddd_txt.text = “”;
telefone_txt.text = “”;
mensagem_txt.text = “”;
} else {
resposta_txt.text = “Erro ao enviar!!!”;
}// end else if
};
objEnvia.sendAndLoad(“enviaEmail.php”,objRecebe,“POST”);
}// end else if
};
// Codificando o botão enviar
enviar_btn.onRelease = function() {
enviaDados();
}

Para importar o arquivo de actionScriopt para o formulário basta inseir o seguinte código no frame ações:
#include “acoes/formulario.as”
 
// Chamando a função iniciar que limpa todos os campos
iniciar();
Testando a aplicação:
testeformulaio1

Agora que confirmamos que o flash esta funcionando vamos criar o arquivo PHP que irá receber os dados e enviá-los ao email.
enviaEmail.php

<?php
// Declarando as variaveis e formatando com utf-8
$nome = utf8_decode(@$_POST['nome']);
$email = utf8_decode(@$_POST['email']);
$endereco = utf8_decode(@$_POST['endereco']);
$ddd = utf8_decode(@$_POST['ddd']);
$telefone = utf8_decode(@$_POST['telefone']);
$mensagem = utf8_decode(@$_POST['mensagem']);
// Montando o e-mail
$para = “emaildodestinatario@email.com.br”;
$assunto = “Formulario de contato”;
$corpo .= “Nome = $nome .\n”;
$corpo .= “E-mail = $email .\n”;
$corpo .= “Endereço = $endereco .\n”;
$corpo .= “DDD = $ddd .\n”;
$corpo .= “Telefone = $telefone .\n\n”;
$corpo .= “\n\n=====================================\n”;
$corpo .= “Esse formulário foi enviado atráves do Site www.seusite.com.br .\n”;
$corpo .= “========================================”; // Mensagem resposta
echo (“&resultado=true!&”);
mail(“$para”,“$assunto”,“$corpo”,“$headers”);
?>

1 comentários:

Ricardo Ortéga disse...

ai galera , tutorial muito bom para quem curti Web Design !

Postar um comentário

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Eagle Belt Buckles