0

Php com FlashMX

criado por Rodrigo Rodrigues em 18/08/2004 10:45pm
Crie um filme(flash_formulario.fla) do tamanho(width 500 px, height 300 px backGroundColor: gray) com 3 layers e em cada layer 1 frame, crie 3 campos "inputs" com os nomes "nome, email e comentário" e um campo dinâmico chamado "msg", crie um botão para enviar o formulário, o meu ficou assim.
%http://www.fotolist.com.br/galeriafotos/RODRIGOTIMAO20040727173307.JPG%

No primeiro layer deixe somente os actions, segue o script.
btEnviar.onRelease = function() {
    if (_root.nome eq "" || _root.nome.length<=0) {
        _root.msg = "Campo Nome é obrigatório.";
    } else if (_root.email.indexOf("@") == -1 || _root.email eq "") {
        _root.msg = "Campo Email inválido.";
    } else if (_root.comentario eq "" || _root.comentario.length<=0) {
        _root.msg = "Campo Comentário é obrigatório.";
    } else {
        enviaEmail = new LoadVars();
        enviaEmail.nomeFlash = _root.nome; // Variável(nomeFlash) será resgatada no Php.
        enviaEmail.emailFlash = _root.email; // Variável(emailFlash) será resgatada no Php.
        enviaEmail.comentarioFlash = _root.comentario; // Variável(comentarioFlash) será resgatada no Php.
        
        isEnviaEmail = new LoadVars();
        enviaEmail.sendAndLoad("processa_formulario.php", isEnviaEmail, "POST"); // Página que irá enviar o email.
        _root.msg = "Enviando Comentário para o email("+_root.email+")...";
        
        isEnviaEmail.onLoad = function(success) {
        
           isEnvio = isEnviaEmail.isEnvio; // Variável(isEnvio) do Php retorna um boolean(verdadeiro ou falso).
            if (isEnvio eq "true") {
                _root.msg = "Email enviado com sucesso...";
                _root.nome = ""; // Limpa campo.
                _root.email = ""; // Limpa campo.
                _root.comentario = ""; // Limpa campo.
            } else {
                _root.msg = "Não enviou o email.";
                _root.nome = ""; // Limpa campo.
                _root.email = ""; // Limpa campo.
                _root.comentario = ""; // Limpa campo.
            }
        };
        
    }
};
stop();
A primeira parte do script verifica se os campos "nome, email e comentário" estão vazios, estando ok envia para a página processar o formulário e retorna uma resposta(boolean da variável "isEnvio") para o filme.

Crie a página que irá enviar o email.
processa_formulario.php
<?php 
$nome = $_POST['nomeFlash']; // Variável do Flash.
$email = $_POST['emailFlash']; // Variável do Flash.
$comentario = $_POST['comentarioFlash']; // Variável do Flash.

if(!( empty($nome) and empty($email) and empty($comentario) )){
	$subject = "Php com FlashMX";
	$message .= "Olá $nome.<br>\n";
	$message .= "Você postou o seguinte assunto<br>\n ".nl2br($comentario)."<br>\n";
	$headers = "From: rodrigo_coringao@".substr(str_replace("w", "", $_SERVER['SERVER_NAME']), 1)."\n";
	$headers .= "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
	if(mail($email, $subject, $message, $headers)){
		echo "&isEnvio=true";
	} else {
		echo "&isEnvio=false";
	}
} else {
	echo "&isEnvio=false";
}
?>
Enviando o email a variável(isEnvio) retorna um true.

Crie uma página para chamar o filme.
php_formulario.php
<html>
<head>
<title>Php com FlashMX</title>
</head>

<body>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="500" height="300">
  <param name="movie" value="flash_formulario.swf">
  <param name="menu" value="false">
  <param name="quality" value="high">
  <embed src="flash_formulario.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="500" height="300"></embed></object>
</body>
</html>
Pronto, chame no browser e verá o resultado.

Para baixar os arquivos deste exemplo http://www.phpbrasil.com/scripts/download.php/id/2486

Referências:
www.macromedia.com
www.pontoflash.com.br

Sem mais, Rodrigo Rodrigues.

Comentários:

Mostrando 1 - 4 de 4 comentários
Acho ineressante a interação de php com flash. Eu manjo um pouco de action e uma vez fiz um fomulário com php+flash. Ficou legal.. pretendo me aperfeiçoar em php e depois tentar uma intereção maior entre os dois.
10/08/2006 10:08am (~15 anos atrás)

Tulio Amaral disse:
Estou exatamente tentando fazer a integração do flash com php, atualmente consigo trazer todos os dados do mysql via php.
Estou querendo apresentar uma imagem que o caminho esta no bd (foto por exemplo) e no banco de dados no campo foto tem http://meusite.combr/fotos/ft01.jpg. Consigo trazer o caminho da foto, apresenta na tela do flash o caminho correto porém qdo utilizo o comando em um sub-nivel do movie clip, onde box1 é nome da minha variável que tem o nome do caminho,

createEmptyMovieClip("container",3);
container.loadMovie(box1);
container._x = 0; container._y = 0 ;

Não funciona, porém se no nível principal eu coloco box1="http://meusite.combr/fotos/ft01.jpg" apresenta a imagem na tela. Oque pode estar ocorrendo?

Agradeço antecipadamente e valeu pelo artigo pois ajudou bastante!!!

Abraços,

Túlio
15/09/2005 9:21pm (~16 anos atrás)

Teria como criar no flash um campo dinâmico de validação de datas????
30/11/2004 7:03am (~17 anos atrás)

Olá amigo, sou totalmente leigo qdo se refere a interação do flash com o php, entendo um pouco dos 2, mas estou começando a interagir eles, mas to com uma duvida, eu consegui fazer uma busca já no banco de dados mysql para um cadastro de pessoas, com paginação 1/1... tipo, nome, email, etc e jogar no flash, só que queria coloca uma foto, teria como vc quebrar esse galho pra mim?... preciso de um campo no flash acima dos dados que apareça uma foto presente no banco de dados mysql....

grato desde já!
02/10/2004 12:10pm (~17 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)