ernanimanoel Postado Julho 5, 2011 Compartilhar Postado Julho 5, 2011 Transcrevemos um passo a passo, para você criar um formulário em flash com envio em PHP, utilizando o Adobe Flash (Flash MX, CS3, CS4). Disponibilizamos também um exemplo para download. http://vmlink.com.br/downloads/formflash_php.zip Você vai identificar 3 arquivos: - form.html - Arquivo html que chama o conteúdo em Flash; - enviar.php - Arquivo PHP com o "action" e informações sobre destinatário do formulário e autenticação dos e-mails; - form.fla e form.swf - Arquivos compilados com nosso exemplo. - AC_RunActiveContent.js - arquivo é responsável por dar o start no flash (.swf); Primeiramente vamos criar o layout do formulário: 1- Abra o Flash e crie 6 camadas: desenho, textos, campos (variáveis), ações, botões e confirmação; 2- Após criar as camadas, na camada desenhos (1.º quadro), vamos fazer os desenhos dos campos onde as pessoas irão escrever; 3- Clique na camada textos (1.º quadro) e coloque os textos nos desenhos criados na opção2 mostrando para que irá servir cada um (Ex: Nome, E-mail, Mensagem); 4- Na sequência vamos criar 2 botões: um irá ser o botão "Enviar" e o outro será o "Limpar", lembre-se: você pode inserir os botões onde achar melhor; 5- Com a ferramenta texto do flash, vamos criar as variáveis de entrada onde serão digitadas as informações das pessoas. Use a ferramenta texto com a opção do texto em "Texto de Entrada"; 6- Agora vamos criar as variáveis. Lembre-se de que você deve estar na camada variáveis (1.º quadro). Vamos criar uma variável para cada campo do formulário Aqui no nosso exemplo criaremos 3 (nome, e-mail, mensagem); 7- No campo "nome", clique sobre o campo desenhado (conforme opção2) e em suas propriedades no campo VAR escreva o nome da variavel, neste caso "nome", o procedimento será dado também para os campos "e-mail" e "mensagem"; 8- Observação: Na variável nome e e-mail o tipo de linha é única, ao contrário da variavel mensagem que você deve mudar o tipo de linha para multilinhas. Desta forma, a pessoa poderá escrever uma mensagem com mais de 1 linha; 9- Já que estamos trabalhando com a ferramenta texto, vamos criar também uma variável que irá receber a confirmação se a pessoa enviou com sucesso a mensagem. Essa variável você deve criar na camada confirmação (1.º quadro) e pode ser coloca em qualquer lugar do filme. (Você deve dar o nome de enviado). Com os procedimentos acima, o layout está pronto. Agora vamos proceder com a programação do formulário, para isso vamos dar as ações necessárias. Para dar uma ação, clique com o botão direito do mouse e vá em "Ações" ou "Actions". 1- Clique na camada ações (1.º quadro) e coloque as seguintes ações: stop(); Selection.setFocus("nome"); // assim o cursor já começará no campo "nome" destinatario = "contato@seudomínio"; // esse é o endereço que receberá a mensagem. 2- Em seguida vamos publicar as ações no botão Enviar e Limpar. No botão Enviar, coloque as seguintes ações: on (release) { System.useCodepage = true; // esse comando acima corrige os acentos no código php loadVariablesNum("enviar.php", 0, "GET"); // já este irá carregar o arquivo php e enviar para seu e-mail gotoAndPlay(2); // aqui enviamos o flash para o quadro 2 onde terá uma nova programação com novas telas para demostrar ao usuário que o e-mail dele foi enviado } Já no botão Limpar, coloque as seguintes ações: on (release) { nome = ""; email = ""; mensagem = ""; } // já esta opção faz com que limpemos todas as nossas variáveis 3- Vá na camada ações e aperte o F7 no 3º quadro e coloque as seguintes ações: if (enviado != "ok") { gotoAndPlay(4); } // aqui criamos uma condição que se o e-mail foi enviado com sucesso aparecerá ok na variável enviado e irá para o quadro 4 4- Ainda, na camada ações, clique no 4º quadro e aperte o F7. Insira a ação abaixo: stop(); //isso faz com que o filme pare de rodar e espera o usuário apertar o novo botão o voltar. 5- Vá na camada confirmação, clique no 4º quadro e aperte F5. Com isso, o quadro poderá ser visualizado a qualquer momento, mostrando se o e-mail será ou não enviado. 6- Crie mais um botão (Voltar), que deve ser colocado na camada botões nos quadros 2 e 4. Nele você deve colocar as seguintes ações: on (press) { gotoAndPlay(1); // volta ao quadro um, dando a opção do usuário fazer o envio de outra mensagem nome = ""; email = ""; mensagem = ""; enviado = ""; // já os comando acima limpam todas as variáveis usadas da outra vez } 7- Bom, após inserir os botões, é só arrumar um último texto, avisando para o usuário que sua mensagem foi enviada com sucesso. Esse texto deve estar na camada textos nos quadros 2 e 4. A parte do formulario em flash acabou. Salve o filme (.fla) e você já terá um formulário pronto. Aperte Shift+F12 para criar a publicação (junto será criado o arquivo .swf, .html, AC_RunActiveContent.js) Esses arquivos são responsáveis para o funcionamento do formulario em flash, logo quando for efetuar o upload para seu FTP, faça de todos esses arquivos. Agora vamos ao script PHP utilizando a função mail. Copie o código abaixo e cole no bloco de notas. Salve-o como enviar.php na mesma pasta onde disponibilizará o arquivo swf. <?php if (!empty($_GET)) { /*digite os destinatarios separados por virgula*/ $destinatarios = 'email-de-teste@seu-dominio, email-de-teste-2@outro-dominio'; /*usuario ou nome completo da conta criada em sua hospedagem, como por exemplo teste@seudominio*/ $usuario = 'usuario@seu-dominio'; /*senha da conta de email acima*/ $senha = 'senha-do-usuario'; /*nome do destinatario no qual receberá a mensagem*/ $nomeDestinatario = 'mensagem do site'; $nomeRemetente = $_GET["nome"]; $resposta = $_GET["email"]; $mensagem = nl2br($_GET["mensagem"]); $assunto = "Formulário de Contato"; /***********************************A PARTIR DAQUI NAO ALTERAR************************************/ foreach ($_GET as $dados['me1'] => $dados['me2']) { $dados['me3'][] = '<b>'.$dados['me1'].'</b>: '.$dados['me2']; } $dados['me3'] = '<hr><h4>Mensagem do site</h4>'.implode('<br>', $dados['me3']).'<hr>'; $dados['email'] = array('usuario' => $usuario, 'senha' => $senha, 'servidor' => 'smtp.'.substr(strstr($usuario, '@'), 1), 'nomeRemetente' => $nomeRemetente, 'nomeDestinatario' => $nomeDestinatario, 'resposta' => $resposta, 'assunto' => $assunto, 'mensagem' => $dados['me3']); ini_set('php_flag mail_filter', 0); $conexao = fsockopen($dados['email']['servidor'], 587, $errno, $errstr, 10); fgets($conexao, 512); $dados['destinatarios'] = explode(',', $destinatarios); foreach ($dados['destinatarios'] as $dados['1']) { $dados['destinatarios']['RCPTTO'][] = '< '.$dados['1'].' >'; $dados['destinatarios']['TO'][] = $dados['1']; } $dados['cabecalho'] = array('EHLO ' => $dados['email']['servidor'], 'AUTH LOGIN', base64_encode($dados['email']['usuario']), base64_encode($dados['email']['senha']), 'MAIL FROM: ' => '< '.$dados['email']['usuario'].' >', 'RCPT TO:' => $dados['destinatarios']['RCPTTO'], 'DATA', 'MIME-Version: ' => '1.0', 'Content-Type: text/html; charset=iso-8859-1', 'Date: ' => date('r',time()), 'From: ' => array($dados['email']['nomeRemetente'].' ' => '< '.$dados['email']['usuario'].' >'), 'To:' => array($dados['email']['nomeDestinatario'].' ' => $dados['destinatarios']['TO']), 'Reply-To: ' => $dados['email']['resposta'],'Subject: ' => $dados['email']['assunto'], 'mensagem' => $dados['email']['mensagem'], 'QUIT'); foreach ($dados['cabecalho'] as $dados['2'] => $dados['3']) { if (is_array($dados['3'])) { foreach ($dados['3'] as $dados['4'] => $dados['5']) { $dados['4'] = empty($dados['4']) ? '' : $dados['4']; $dados['5'] = empty($dados['5']) ? '' : $dados['5']; $dados['4'] = is_numeric($dados['4']) ? '' : $dados['4']; if (is_array($dados['5'])) { $dados['5'] = "< ".implode(', ', $dados['5'])." >"; } fwrite($conexao, $dados['2'].$dados['4'].$dados['5']." ", 512).'<br>'; fgets($conexao, 512); } } else { $dados['2'] = empty($dados['2']) ? '' : $dados['2']; $dados['3'] = empty($dados['3']) ? '' : $dados['3']; $dados['2'] = is_numeric($dados['2']) ? '' : $dados['2']; if ($dados['2'] == 'Subject: ') { fwrite($conexao, $dados['2'].$dados['3']."\r\n", 512).'<br>'; fwrite($conexao, "\r\n", 512).'<br>'; fgets($conexao, 512); } elseif ($dados['2'] == 'mensagem') { fwrite($conexao, $dados['3']."\r\n.\r\n").'<br>'; fgets($conexao); } else { fwrite($conexao, $dados['2'].$dados['3']."\r\n", 512).'<br>'; fgets($conexao, 512); } } } fclose($conexao); print "&enviado=ok&"; } ?> Pronto, formulário em flash com php criado com sucesso!!! Link para o comentário Compartilhar em outros sites More sharing options...
charless Postado Julho 5, 2011 Compartilhar Postado Julho 5, 2011 Amigo ja ouviu falar em JQUERY? Flash em 2011? Que dize então se eu tiver usando um IPAD como vo entrar em contato com você? Não se usa mais flash hoje em dia. Quem estuda web sabe disso. Flash se tornou algo tão obsolento como o IE6. Evite o uso do flash, estamos na era HTML5 e CSS3. Jquery tem diversos form prontos e leves. Uma lista abaixo. http://www.designyourway.net/blog/resources/55-jquery-form-plugins-to-download-and-use/ Por favor evite o uso do flash. Link para o comentário Compartilhar em outros sites More sharing options...
Alexandre Duran Postado Julho 5, 2011 Compartilhar Postado Julho 5, 2011 O tutorial está muito bom - até eu conseguiria fazer seguindo ele - mas seria melhor ainda organizando com as ferramentas de edição, como o Stonelayer postou. Porem eu assumo, sou do time que acha que o flash deveria ser banido da face da terra. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados