18 de mar. de 2008

Formulário Flash+PHP com validação de campos, por Juliano JGC

Formulário Flash+PHP com validação de campos
Juliano JGC 18 anos de idade, experiência como técnico de informática, instrutor de informática básica e de web design, atualmente atua como Instrutor de informática básica e web, e também como designer free lance.

Ola pessoal aqui estou postando um tutorial muito importante na criação de um site full flash.. Muita gente tem duvidas sobre a criação de um formulário flash + php, ainda mais um que possua validação nos campos... então vamos la.

Este formulário irá ter os campos nome, assunto, telefone, email e mensagem.

Primeiramente, vamos organizar o formulário, criem 4 LAYERS cmo esta na imagem:



Na camada ações aperte F9 e digite:
stop();
nome = "";
assunto = "";
ddd = "";
fone = "";
email = "";
msg = "";
status = "";

E pra cada layer criem duas frames.

Na primeira frame da layer layout vcs irão desenhar o formulário, na layer botões vcs criaram 2 botões um enviar e o outro limpar, e na layer form vcs criaram vcs irão criar 6 IMPUT TEXT, ficará assim:



Agora vamos declarar as variaveis desses campos assim:

Nome : nome
Assunto: assunto
o telefone tem dois campos um q vai ser o campo instaciado cmo : ddd e ou outro instancie cmo : fone
E-mail : email
Mensagem : msg

agora criem um DINAMIC TEXT e declarem a variavel dele cmo status, e posicionem ele onde vcs acharem melhor,ele vai mostrar a mensagem ao usuario de q foi deixado algum campo vazio, feito isso, vamos as actions do botão limpar:

on(release){
 nome = "";
 assunto = "";
 ddd = "";
 fone = "";
 email = "";
 msg = "";
 status = "";
}

ahh não esqueçam de deixar o campo mensagem cmo MULTILINE.

e agora as actions do botão enviar:

on (release) {
 if (nome eq "") {
  status = "O nome esta vazio";
  selection.setFocus("nome");
 } else if (assunto eq "") {
  status = "O assunto esta vazio";
  Selection.setFocus("assunto");
 } else if (ddd eq "") {
  status = "Faltou o DDD";
  Selection.setFocus("ddd");
 } else if (fone eq "") {
  status = "Faltou o número do telefone";
  Selection.setFocus("fone");
 } else if (email eq "") {
  status = "O e-mail está vazio";
  Selection.setFocus("email");
 } else if (msg eq "") {
  status = "Faltou a mensagem";
  Selection.setFocus("msg");
 } else {
  nextFrame();
 }
}

Agora vamos a segunda frame da layer form... la vcs botaram uma mensagem de agradecimento dizendo que o contato foi efetuado com sucesso, e na segunda frame da layer ações vc irão colocar o seguinte código:

loadVariablesNum("mail.php", 0, "POST");
stop();
intervalo = function() {
prevFrame();
clearInterval (tempo);
}
tempo = setInterval (intervalo, 1800);

esse código vai chamar o php para enviar o formulário e vai voltar a frame anterior em alguns segundos

Pra deixar mais interessante iremos fazer o seguinte.... será copiado o IMPUT TEXT nome da primeira frame, e será colado na mensagem de saudação, tipo, digitem em um static text assim:

Olá Sr (a): dae aqui vem o IMPUT TEXT copiado, e continua a mensagem cm static text...

lembrando que, só terá duas frames a layer layout e a layer ações, na layout terá a mensagem de agradecimento...

agora vamos ao PHP: abra um bloco de notas e cole o seguinte código:

<?php
$recipient = "contato@jgcweb.com";

$subject = "formulário de contato";

$msg = "nome: $nome\n\nAssunto: $assunto\n\nDDD: $ddd\n\nTelefone: $fone\n\nE-mail:$email\n\nMensagem: $msg";

$mailheaders = "From: contato@jgcweb.com";

mail("$recipient", "$subject", "$msg", "$mailheaders");
?>

Explicando o que deverá ser mudado:

no $recipient = "contato@jgcweb.com"; vcs colocaram um endereço de e-mail pra q vcs possam receber esse formulário no meu caso foi esse ae mas vcs mudam pro endereço de vcs.

no $subject = "formulário de contato"; vai ser o assunto do formulário, qndo chegar pra vc ele chegará cm o nome de formulário de contato ae vcs tbm mudam conforme a nescessidade de vcs

no $mailheaders = "From: contato@jgcweb.com"; vai ser o remetente, o endereço de e-mail q enviará o formulário de vcs, tbm modifiquem pra qualquer um endereço de e-mail de vcs

e é só o resto faz parte do código php, e não poderá ser  mudado, se for mudado não funcionará corretamente...

Feito isso, salvem esse bloco de notas cm extensão php.... deem o nome do arquivo de mail.php

dae é só testar no servidor, e botar o mail.php junto do formulário.

Ahhh qndo forem publicar o arquivo swf, deixem - no com o flash player 6, la nas propriedades tem um botão settings vão la e mudem o arquivo pra flash player 6.

vlw ae pessoal e espero que tenham gostado
Blogged with the Flock Browser

Nenhum comentário: