Olá comunidade.
Hoje, irei a mostrar a vocês como criar um formulário de E-mail usando PHP e Flash. Irei mostrar como criar esse formulário para os usuários do ActionScript 2 e do ActionScript 3.
Pré requisitos para esse tutorial:
Antes de chegarmos a criação de nosso arquivo PHP, vocês precisam verificar se o servidor em que usam dá suporte a função mail do PHP. Para verificar isso, basta criar um arquivo PHP usando a função mail, como no exemplo abaixo:
<?php mail("seu email@dominio.com.br", "assunto", "mensagem"); ?>
Após a criação desse arquivo, hospedem ele em seu servidor visualize ele em seu browser. Se ao abrir o arquivo, nenhuma mensagem aparecer você tem suporte a função mail do PHP e pode criar um formulário, se aparecer alguma mensagem de erro vocês não poderão criar o formulário. A imagem a seguir mostra o erro que é exibido pelo PHP quando não tem suporte a função mail.

Vocês podem estar se perguntando, porque tem servidor que não dá suporte a função mail do PHP. Simples, controle contra SPAM. Existem vários usuários que aproveitam para ficar enviando mensagens sem que nós tenhamos conhecimento.
Aos que podem usar a função, vamos a criação do arquivo PHP que vai receber os dados vindos do Flash e enviar o E-mail. Salvem esse arquivo com o nome de contato.php.
<?php /* Valores enviados pelo Flash */ /* Para esse tutorial irei enviar 5 valores */ /* Fiquem livres a enviar quantos valores quiserem */ $nome = utf8_decode(@$_POST['nome']); $email = utf8_decode(@$_POST['email']); $cidade = utf8_decode(@$_POST['cidade']); $assunto = utf8_decode(@$_POST['assunto']); $mensagem = utf8_decode(@$_POST['mensagem']); $news = utf8_decode(@$_POST['news']); $programas = utf8_decode(@$_POST['programas']); /* Coloquem seu E-mail aqui */ $para = "seu email@dominio.com.br"; /* Aqui uma pequena verificação para evitar que enviem E-mails sem valores */ if ($nome != "" && $email != "" && $cidade != "" && $assunto != "" && $mensagem != "") { /* Montamos o E-mail */ /* Criei um exemplo bem simples de E-mail usando HTML */ /* Fiquem livres para modificar conforme desejam */ $corpo = '<html><head><title>'.$assunto.'</title></head><body>'; $corpo .= 'Nome: '.$nome.'<br />;E-mai: '.$email.'<br />Quer receber a Newsletter: '.$news.'<br />'; $corpo .= 'Programas usados: '.$programas.'<br />'; $corpo .= 'Cidade: '.$cidade.'<br />Assunto: '.$assunto.'<br />Mensagem: '.$mensagem; /* Aqui modificamos o tipo de E-mail para o formato HTML */ $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; /* Aqui mudamos o cabeçalho para exibir o E-mail de quem enviou */ $headers .= 'From:'. $email . "\r\n"; /* Por fim enviamos o E-mail com os dados recebidos do Flash */ mail($para, $assunto, $corpo, $headers); /* Retornamos um Ok para o Flash */ print 'erro=0'; /* Caso os campos não sejam preenchidos */ } else { /* Retorna o erro ao Flash */ print 'erro=1'; } ?>
Chegou a hora de ir para o Flash. Como disse no começo do tutorial, esse tutorial serve tanto para usuários do ActionScript 3 quanto para usuários do ActionScript 2. Para esse tutorial começarei com um palco de tamanho 470×300, criem duas camadas, ações e objetos.

Montem o layout que preferir para o Formulário, a quantidade de campos é livre, assim como o uso de Componentes. Vou aproveitar esse tutorial e mostrar como usar os Componentes ComboBox, CheckBox e RadioButtons. O layout que montei está abaixo, as linhas em vermelho são as instancias dos objetos, lembre-sem de colocar os objetos no primeiro frame da camada objetos.
Os botões possuem instancia de limpar_btn e enviar_btn respectivamente. Os CheckBoxs possuem instancia de dream_ch, fire_ch, flash_ch, illus_ch e photo_ch respectivamente.
Com os nossos objetos no palco, vamos ao ActionScript. Primeiro, aos usuários que usam o ActionScript 2. Colem as ações abaixo no primeiro frame da camada ações:
/* Criamos um Array para preencher o ComboBox cidades */ var cidades:Array = ["São Paulo", "Rio de Janeiro", "Belo Horizonte", "Porto Alegre", "Outra cidade"]; /* Preenchemos o ComboBox com os valores do Array */ cidade_cb.dataProvider = cidades; /* Criamos um Array para preencher o ComboBox assunto */ var assunto:Array = ["Dúvidas", "Sugestões", "Elogios", "Reclamações", "Outros"]; /* Preenchemos o ComboBox com os valores do Array */ assunto_cb.dataProvider = assunto; /* Criamos uma variável para armazenar os valores do CheckBox selecionados */ var programas:String = new String(); /* Criamos uma instancia para a Classe LoadVars */ var envia:LoadVars = new LoadVars(); /* Ao clicar do botão enviar */ enviar_btn.onPress = function() { /* Verifica se preencheu o campo nome */ if (nome_txt.text == "") { /* Mostra a mensagem de erro */ status_txt.text = "Preencha o campo Nome corretamente"; /* Verifica se preencheu o campo email */ } else if (email_txt.text == "") { /* Mostra a mensagem de erro */ status_txt.text = "Preencha o campo E-mail corretamente"; } else if ((email_txt.text.indexOf("@") == -1 || email_txt.text.indexOf(".") == -1)) { /* Mostra a mensagem de erro */ status_txt.text = "Preencha o campo E-mail corretamente"; /* Verifica se preencheu o campo mensagem */ } else if (mensagem_txt.text == "") { /* Mostra a mensagem de erro */ status_txt.text = "Preencha o campo Mensagem corretamente"; /* Verifica se selecionou a opção sim ou opção não do RadioButton */ } else if (sim.selected == false && nao.selected == false) { /* Mostra a mensagem de erro */ status_txt.text = "Selecione Sim ou Não"; /* Se tudo estiver ok */ } else { /* Envia para o PHP a variavel nome com os dados do campo nome */ envia.nome = nome_txt.text; /* Envia para o PHP a variavel email com os dados do campo email */ envia.email = email_txt.text; /* Envia para o PHP a variavel cidade com o valor selecionado no ComboBox cidade */ envia.cidade = cidade_cb.value; /* Envia para o PHP a variavel assunto com o valor selecionado no ComboBox assunto */ envia.assunto = assunto_cb.value; /* Envia para o PHP a variavel mensagem com os dados do campo mensagem */ envia.mensagem = mensagem_txt.text; /* Verifica se a opção sim foi selecionado no RadioButton */ if (sim.selected == true) { /* A opção sim foi selecionada */ /* Envia para o PHP a variavel news com o valor sim */ envia.news = "sim"; /* Verifica se a opção não foi selecionado no RadioButton */ } else if (nao.selected == true) { /* A opção nao foi selecionada */ /* Envia para o PHP a variavel news com o valor não */ envia.news = "não"; } /* Verifica se o CheckBox Dreamweaver foi selecionada */ if (dream_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor Dreamweaver */ programas = "Dreamweaver, "; } /* Verifica se o CheckBox Fireworks foi selecionada */ if (fire_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor Fireworks */ programas += "Fireworks, "; } /* Verifica se o CheckBox Flash foi selecionada */ if (flash_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor Flash */ programas += "Flash, "; } /* Verifica se o CheckBox Illustrator foi selecionada */ if (illus_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor Illustrator */ programas += "Illustrator, "; } /* Verifica se o CheckBox Photoshop foi selecionada */ if (photo_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor PhotoShop */ programas += "Photoshop."; } /* Envia para o PHP a variavel programas o valor da variável programas */ envia.programas = programas; /* Avisa que está mandando o E-mail */ status_txt.text = "Enviando mensagem"; /* Enviamos as variáveis ao PHP e carregamos a mensagem que vai vir do PHP */ envia.sendAndLoad("http://localhost/contato.php", envia, "POST"); } }; /* Assim que o PHP for carregado */ envia.onLoad = function(ok) { /* Se carregou tudo certinho */ if (ok) { /* Se deu tudo ok no PHP */ if (this.erro == 0) { /* Chamamos a função limpa */ limpa(); /* Mostra mensagem de sucesso */ status_txt.text = "Mensagem enviada com sucesso"; } else { /* Mostra mensagem de erro */ status_txt.text = "Erro ao enviar E-mail"; } } }; /* Ao clicar do botão limpar */ limpar_btn.onPress = function() { /* Chamamos a função limpa */ limpa(); }; /* Função responsável por limpar os campos do formulário */ function limpa() { /* Zeramos a variável programas */ programas = ""; /* Apagamos os campos de texto */ nome_txt.text = ""; email_txt.text = ""; mensagem_txt.text = ""; status_txt.text = ""; /* Voltamos a selecionar o primeiro item dos ComboBox */ assunto_cb.selectedIndex = 0; cidade_cb.selectedIndex = 0; /* Deixamos os RadioButtons não selecionados */ sim.selected = false; nao.selected = false; /* Deixamos os RadioButtons não selecionados */ dream_ch.selected = false; fire_ch.selected = false; flash_ch.selected = false; illus_ch.selected = false; photo_ch.selected = false; }
Agora para os usuários do ActionScript 3. Colem as ações abaixo no primeiro frame da camada ações.
/* Importamos a Classe DataProvider */ import fl.data.DataProvider; /* Criamos um Array para preencher o ComboBox cidades */ var cidades:Array = ["São Paulo", "Rio de Janeiro", "Belo Horizonte", "Porto Alegre", "Outra cidade"]; /* Preenchemos o ComboBox com os valores do Array */ cidade_cb.dataProvider = new DataProvider(cidades); /* Criamos um Array para preencher o ComboBox assunto */ var assunto:Array = ["Dúvidas", "Sugestões", "Elogios", "Reclamações", "Outros"]; /* Preenchemos o ComboBox com os valores do Array */ assunto_cb.dataProvider = new DataProvider(assunto); /* Criamos uma variável para armazenar os valores do CheckBox selecionados */ var programas:String = new String(); /* Criamos uma instancia da Classe URLVariables */ var variaveis:URLVariables = new URLVariables(); /* Criamos uma instancia da Classe URLRequest */ var objEnvia:URLRequest = new URLRequest(); /* Criamos uma instancia da Classe URLLoader */ var objRecebe:URLLoader = new URLLoader(); /* Adicionamos um listener ao botão limpar */ limpar_btn.addEventListener(MouseEvent.MOUSE_DOWN, limparPress); /* Função disparada quando se clica no botão limpar */ function limparPress(event:MouseEvent):void { /* Chamamos a função limpa */ limpa(); } /* Adicionamos um listener ao botão enviar */ enviar_btn.addEventListener(MouseEvent.MOUSE_DOWN, enviarPress); /* Função disparada quando se clica no botão enviar */ function enviarPress(event:MouseEvent):void { /* Verifica se preencheu o campo nome */ if (nome_txt.text == "") { /* Mostra a mensagem de erro */ status_txt.text = "Preencha o campo Nome corretamente"; /* Verifica se preencheu o campo email */ } else if (email_txt.text == "") { /* Mostra a mensagem de erro */ status_txt.text = "Preencha o campo E-mail corretamente"; /* Verifica se preencheu o campo mensagem */ } else if ((email_txt.text.indexOf("@") == -1 || email_txt.text.indexOf(".") == -1)) { /* Mostra a mensagem de erro */ status_txt.text = "Preencha o campo E-mail corretamente"; } else if (mensagem_txt.text == "") { /* Mostra a mensagem de erro */ status_txt.text = "Preencha o campo Mensagem corretamente"; /* Verifica se selecionou a opção sim ou opção não do RadioButton */ } else if (sim.selected == false && nao.selected == false) { /* Mostra a mensagem de erro */ status_txt.text = "Selecione Sim ou Não"; /* Se tudo estiver ok */ } else { /* Envia para o PHP a variavel nome com os dados do campo nome */ variaveis.nome = nome_txt.text; /* Envia para o PHP a variavel email com os dados do campo email */ variaveis.email = email_txt.text; /* Envia para o PHP a variavel cidade com o valor selecionado no ComboBox cidade */ variaveis.cidade = cidade_cb.value; /* Envia para o PHP a variavel assunto com o valor selecionado no ComboBox assunto */ variaveis.assunto = assunto_cb.value; /* Envia para o PHP a variavel mensagem com os dados do campo mensagem */ variaveis.mensagem = mensagem_txt.text; /* Verifica se a opção sim foi selecionado no RadioButton */ if (sim.selected == true) { /* A opção sim foi selecionada */ /* Envia para o PHP a variavel news com o valor sim */ variaveis.news = "sim"; /* Verifica se a opção não foi selecionado no RadioButton */ } else if (nao.selected == true) { /* A opção nao foi selecionada */ /* Envia para o PHP a variavel news com o valor não */ variaveis.news = "não"; } /* Verifica se o CheckBox Dreamweaver foi selecionada */ if (dream_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor Dreamweaver */ programas = "Dreamweaver, "; } /* Verifica se o CheckBox Fireworks foi selecionada */ if (fire_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor Fireworks */ programas += "Fireworks, "; } /* Verifica se o CheckBox Flash foi selecionada */ if (flash_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor Flash */ programas += "Flash, "; } /* Verifica se o CheckBox Illustrator foi selecionada */ if (illus_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor Illustrator */ programas += "Illustrator, "; } /* Verifica se o CheckBox Photoshop foi selecionada */ if (photo_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável programas o valor PhotoShop */ programas += "Photoshop."; } /* Envia para o PHP a variavel programas o valor da variável programas */ variaveis.programas = programas; /* Avisa que está mandando o E-mail */ status_txt.text = "Enviando mensagem"; /* Dizemos que os dados a serem enviados está na variável variaveis */ objEnvia.data = variaveis; /* Usaremos o método POST */ objEnvia.method = URLRequestMethod.POST; /* Passamos o endereço a ser enviado */ objEnvia.url = "http://localhost/contato.php"; /* Dizemos que os dados serão do tipo texto */ objRecebe.dataFormat = URLLoaderDataFormat.TEXT; /* Enviamos as variáveis ao PHP */ objRecebe.load(objEnvia); /* Adicionamos um listener a variavel objRecebe */ /* O listener será disparado quando terminar de carregar o arquivo PHP */ objRecebe.addEventListener(Event.COMPLETE, onLoadRecebe); } } /* Quando o arquivo PHP for carregado */ function onLoadRecebe(event:Event):void { /* Recupera a mensagem que será enviada pelo PHP */ var resultado:URLVariables = new URLVariables(event.currentTarget.data); /* Se deu tudo ok no PHP */ if (resultado.erro == 0) { /* Chama a função limpa */ limpa(); /* Exibe mensagem de sucesso */ status_txt.text = "Mensagem enviada com sucesso."; } } /* Função que limpa os campos do formulário */ function limpa() { /* Zeramos a variável programas */ programas = ""; /* Apagamos os campos de texto */ nome_txt.text = ""; email_txt.text = ""; mensagem_txt.text = ""; status_txt.text = ""; /* Voltamos a selecionar o primeiro item dos ComboBox */ assunto_cb.selectedIndex = 0; cidade_cb.selectedIndex = 0; /* Deixamos os RadioButtons não selecionados */ sim.selected = false; nao.selected = false; /* Deixamos os RadioButtons não selecionados */ dream_ch.selected = false; fire_ch.selected = false; flash_ch.selected = false; illus_ch.selected = false; photo_ch.selected = false; }
Abaixo, um exemplo de como será o E-mail que você receberá por quem usar o formulário.

Espero que tenha conseguido tirar a dúvida dos que sempre tentaram criar um formulário mas nunca conseguiam, o erro mais comum é não ter suporte a função mail do PHP, por isso não funcionavam achando sempre que o problema estava no Flash quando o problema era o PHP.
Gostaria de aproveitar a oportunidade e convidar todos os leitores a visitarem meu Portfolio Online, lá você poderão encontrar todos os meus trabalhos e tutoriais desenvolvidos: http://www.natanalves.com/
Um abraço a todos e até a próxima.
Autor: Natan D. Alves – Moderador do Fórum de Flash & ActionSctipt MXSTUDIO
Qualquer dúvida envie um e-mail para natanalves@mxstudio.com.br ou acesse nosso fórum
Assine o Feed de Comtentários ou URL de Trackback
Cara.
Não tenho nem o que dizer. Eu usava um form em flash mto fraquinho e sem mtas opções pois já havia desistido de procurar.
Aí agora sem querer achei esse seu tuto que é fora do sério.
Parabens.
Olá Natan Td bem?
Entao.. eu segui passo a passo no seu Tuto, que aliás está de parabéns!!! Porém tive um pequeno problema…
Qdo jogo no servidor que (suporta PHP) e dou um “enviar” ele fica só a mensagem..
“Enviando mensagem” então sai disso e se dou ctrl+enter no flash e faço o teste da a mensagem “Error opening URL “http://localhost/contato.php”..
Saberia me dizer oq esta acontecendo?
Brigadão!!!
Abraço
Akira, esse erro acontece porque você não tem instalado e nem configurado um servidor (como o Apache) em seu Computador para fazer testes sem ter que mandar seus arquivos PHP para seu servidor web. Portanto, localize a linha no Flash que contém o localhost e troque pelo endereço de onde está localizado seu arquivo PHP. Teste seu filme e veja se funciona.
[]s
Muito estranho Akira, no PHP eu já uso a função utf8_decode que mantém a acentuação, eu uso o mesmo código para o meu site e os E-mails que recebo chegam corretamente.
Faz assim, abra o arquivo PHP no bloco de notas, vá em Arquivo, salvar como, e no campo Codificação selecione a opção UTF-8, salve seu arquivo e veja se funciona.
[]s
Prezado Natan,
O meu deu erro,eu já olhei e revisei o código,mas não deu certo.Quando eu clico no botão para enviar,ele mostra no status que está enviando e em seguinda dá erro.Eu uso o EasyPHP + Apache e o local que testo os arquivos é : http://localhost/form.html.Eu testo assim porque no flash eu publico para ficar com a extensão .html.
Aguardo retorno.
Olá Aislan, você não pode testar usando um arquivo HTML como arquivo a ser usado para enviar o E-mail, você tem que usar o arquivo PHP que passei no tutorial.
Você testou usando o PHP que passei no tutorial?
[]s
Aislan, meu e E-mail está no final do tutorial, você pode me mandar seus arquivos que eu dou uma olhada neles.
Cacobala, você também pode me enviar seus arquivos que eu dou uma olhada e vejo o que pode estar errado.
[]s
Olá! Parabéns pelo tutorial, é ótimo!! Mas to com um problema sério aqui: a mensagem não tá chegando no e-mail. acho que o problema está nos RadioButtons, porque quando eles não estão selecionados não aparece a mensagem no status_txt. Os nomes tão todos certos. A variável “news” que no meu caso eu mudei não deveria existir de algum jeito no formulário?
Abraço!
olá Natan! muito bom seu tuto, é fantastico. Estou com um pequeno problema, fiz tudinho passo a passo e hospedei no servidor e tudo, e na hora de enviar a mensagem, a mensagem nao envia e da o erro=1, quando clico em enviar da o “Erro ao enviar o email”. o que eu faço???
abraço….
Cristal, você pode me enviar seus arquivos que eu dou uma olhada o que pode estar errado.
Marcos, qual versão do ActionScript você está usando? Se quiser pode me mandar seus arquivos que eu dou uma olhada.
Diego, esse lixo seria o que, texto errado, ou alguma outra coisa?
[]s
Olá Nathan,
Parabéns pelo seu tutorial, é bem completo e até agora funcionou tudo bem, exceto por um aspecto: ao enviar a mensagem no arquivo flash (já no servidor, assim como o php), não sai do “enviando mensagem”.
Eu já troquei o localhost pelo endereço completo do php, e ainda assim nao funciona. Você pode me ajudar?
A proposito, o formulario do flash está em um swf externo ao arquivo principal que o chama por meio de um movie clip vazio. Pode ser esse o meu erro?
Muito obrigada, desde já!
Olá Tete, se não está reconhecendo o radio pode ser que eles não estejam instanciados corretamente. Quanto ao erro que o Flash exibe, você pode me enviar seus arquivos que eu dou uma olhada no que pode estar errado.
Dragonfly, esse formulário funciona corretamente quando se carrega por outro swf, se o Flash não sai do carregando pode ter algum problema em seu PHP. Exeperimente abrir seu arquivo PHP no Browser e veja se aparece alguma mensagem de erro,
[]s
boas, desde já felicito-o pelo excelente tutorial. Sendo eu amador em action script e o que sei fui aprendendo em tutos como esse. Gostaria de saber se consegue dar uma soluçao ao meu problema. o site que estou a fazer, é constituido por um principal e cada botão corresponde a um ficheiro flash externo que carrega na altura em que a pessoa clica no botão. este formulario é um desses botões só que como é chamado através de outro ficheiro as combobox não deixam selecionar outra cidade qualquer, e mesmo fazendo enviar diz sempre para preencher o campo, e mesmo assim não sei se consegue enviar. existe alguma forma de modificar isto sem ter que por o formulario no ficheiro principal. Muito agradecido desde ja.
Boas, depois de muito lutar para descobrir qual o mal consegui resolver, mas de qualquer modo gostaria de saber a sua opinião. que eu fiz foi o seguinte. Calculei que houvesse algum tipo de conflito em relação ao root da timeline do filme principal e do root do filme que estava a carregar. depois de muito testr descobri que existe uma função chama _lockroot e bastou-me colocar no botão que chama o formulário uma linha tipo psc._lockroot = true; com isto deixei de ter qualquer tipo de conflito e o formulario que é carregado considera que ele é a root principal. Acho que é isso, pelo que percebi. Como antes havia dito, agradecia a opinião de alguém mais experiente do que eu. Obrigado pela ajuda mais uma vez.
Olá Natan, parabéns pelo tutorial, achei ótimo e bem didático. Só é uma pena que eu não tenha conseguido fazer funcionar, teria como você receber meus arquivos e dar uma breve olhada? desde já agradeço.
Ainda não consegui . Deu mais de 30 errors
Descriptions
This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
Syntax error.
Statement block must be terminated by ‘}’
arkarna, o lockroot funciona quando usa-se no ActionScript o _root de um arquivo que será carregado. No tutorial eu não usei nenhum _root para não ter esse problema, mas se está funcionando para você já vale.
Cabavéi, você verificou se seu servidor dá suporte a função mail do PHP? Qualquer coisa você pode me enviar seus arquivos que eu dou uma olhada.
Marcílio, você pode me enviar sim seus arquivos que eu dou uma olhada e vejo o que pode estar errado.
hpc1979, esse erro é das aspas duplas. O sistema do Wordpress usa uma aspa diferente que não é aceita pelo Flash, eu arrumei de novo o tutorial pois isso já tinha acontecido antes, estou brigando com o pessoal da administração para arrumar isso. Basta copiar e colar as ações de novo usando as aspas duplas corretas.
[]s
Olá Rafael.
Sim, esse campo de texto status_txt é um campo de texto dinamico.
[]s
Natan, espero que possa me ajudar:
Num campo para informar data de nascimento eu tenho 3 comboBox: o do dia, mês e ano.
Sem ter que digitar todos aqueles números, pincipalmente para os anos e depois inserir nos comboBox, tem outro jeito?
Em um form em PHP eu fiz assim:
<?
$dia = 1;
while($dia<=31) {
echo ‘Dia’;
echo ‘$dia++’;
echo ”;
}
$mes= 1;
while($dia<=12) {
echo ‘Mês’;
echo ‘$mes++’;
echo ”;
}
$ano = 1950;
while($ano<=2008) {
echo ‘Ano’;
echo ‘$ano++’;
echo ”;
}
?>
E deu certo. Agora eu só queria saber fazer isso em um Flash Form.
Poderia me explicar? Obrigado!
Osmar, da mesma lógica qe você usou no PHP vai funcionar no Flash, a diferença é que para adicionar os itens no ComboBox você terá que usar a função addItem.
[]s
olá natan…. camarada… quando clico em enviar aparece “mensagem enviado com sucesso” mais quando vou acessar minha caixa de emails não está lá! o que será que esta acontecendo!
quando acesso os log do email aparece a seguinte mensagem!
Discarding malformed message from sender: due to invalid From: header ()
Ola. O formulário funciona perfeitamente como ilustrado no tutorial. Parabéns
Agora surgiu uma dúvida. Estou com dificuldade para excluir ou inserir conteúdo no action script e no php. Fiz vários testes e não estou conseguindo.
Alguem pode me ajudar em que parte do action script para devo inserir dados para criar campos de text imput ( em quais partes do action script)
Em quais partes de php devo inserir ?
Eu tentei inserir mas da a seguinte mensagem
“Erro ao enviar email”
Obrigado desde já….
Eu fiz o formulario mais deu esses erros ai to tentando descobrir oque aconteceu se puder me ajudar agradeço
**Error** Scene=Scene 1, layer=Ações, frame=1:Line 104: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
status_txt.text = “Mensagem enviada com sucesso”;
**Error** Scene=Scene 1, layer=Ações, frame=1:Line 107: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
status_txt.text = “Erro ao enviar E-mail”;
**Error** Scene=Scene 1, layer=Ações, frame=1:Line 119: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
programas = “”;
**Error** Scene=Scene 1, layer=Ações, frame=1:Line 121: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
nome_txt.text = “”;
**Error** Scene=Scene 1, layer=Ações, frame=1:Line 122: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
email_txt.text = “”;
**Error** Scene=Scene 1, layer=Ações, frame=1:Line 123: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
mensagem_txt.text = “”;
**Error** Scene=Scene 1, layer=Ações, frame=1:Line 124: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
status_txt.text = “”;
Total ActionScript Errors: 7 Reported Errors: 7
Osmar, para aprender mais sobre o addItem dá uma olhada nesse tópico do Fórum do MXStudio:
http://www.mxstudio.com.br/forum/index.php?showtopic=63270
Jhonathas, esse erro eu não sei te dizer o porque, pela mensagem parece que é algum problema na formatação do header do E-mail e seu servidor pode estar bloqueando, teria que ver o que eles aceitam ou o que pode ser usado.
Joao, você pode criar arquivos em PHP em qualquer programa de edição de texto como o bloco de notas e até mesmo o Word. É só salvar com a extenção .php.
Sergio, você disse que nada acontece quando se clica no seu botão, você instanciou ele corretamente?
hpc1979, acho melhor você postar essa dúvida no Fórum do MXStudio ou me mandar um E-mail, pois aqui não vai caber a minha resposta.
Junior, esse erro é causado pelas aspas duplas que o Wordpress usa, já tinha arrumado isso no tutorial e deveria estar normal, se copiar as ações novamente irá funcionar pois as aspas estão certas.
Wesley, experimente usar outro endereço de E-mail para enviar a mensagem, talvez seu servidor esteja bloqueando o E-mail.
Quem tiver dúvidas podem me mandar um E-mail ou usar o Fórum do MXStudio, por lá vocês terão uma resposta mais rápida.
[]s
Ok Natan, fiz o teste coloquei 4 e-mails diferentes mas continua dando “Mensagem Enviada com Sucesso” mas nada chega, estou testado direto do meu domínio que fica hospedado na HOSTNET, preciso muito deste formulário queria utilizar somente 3 campos “Nome” “Telefone” “E-mail”, fiz o teste com este tuto pq se caso funcionasse eu mesmo modificaria para utilizar esses 3 campos mas não consegui, agradeço a atenção.
Wesley, você deu uma confirmada se a função mail do PHP está habilitada em seu servidor, pode ser esse o seu problema. Entra em contato com o pessoal da Hostnet e veja o que eles tem a dizer a respeito de formulários, se precisa de algum outro código, etc.
[]s
Natan, meus parabéns cara. O primeir tutoria de envio de mensagem que consegui fazer sem problemas.
Vc não tem noção o qto ajudou, meu portifóilio está um pouco desaualizado, sou mais focado no Design, se vc precisar de algo….estamos a disposição, um abraco.
Fica com Deus.
ta dando este erro no flash **Error** Scene=Scene 1, layer=Layer 2, frame=1:Line 92: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
envia.sendAndLoad(”http://localhost/contato.php”, envia, “POST”);
e quando eu boto a pagina contato.php pra rodar no meu servidor da este errinho aqu…. erro=1
tem como vc me da uma força aí Natan a minha versão de php é EasyPHP-2.0b1-setup que ela ja vem com um pacote de mysql, apache e php
hum e quando eu aperto ctrl + enter, eu escrevo nos campos, e quando eu do um click no botão enviar ou limpar naum faz nada nem limpa e nem envia…. grato pela atneção Natan
Oi Natan, fiz uma pequena modificação em seu formulário. Estou usando o comboBox para assunto, onde cada opção deveria enviar para um email diferente. Obviamente não me saio muito bem com PHP e simplesmente não consigo saber o que fazer. Além do PHP, também preciso mudar algo no AS?
Desde já agradeço, TT
Olá pessoal, segui o tudo direitinho…
Mas estou com o mesmo problema que o ” cacobala ” a mensagem é enviada, mas no status aparece a mensagem de erro…
Gostaria que ele me explicasse como ele arrumou o problema…
ou se alguem poderia me ajudar….
Aqui vai o código que estou usando::::
flash:
/* Criamos um Array para preencher o ComboBox cidades */
var cidades:Array = ["Goiânia", "Aparecida de Goiânia", "Inhumas", "Anapolis", "Goianira", "Outra cidade"];
/* Preenchemos o ComboBox com os valores do Array */
cidade.dataProvider = cidades;
/* Criamos uma variável para armazenar os valores do CheckBox selecionados */
var programas:String = new String();
/* Criamos uma instancia para a Classe LoadVars */
var envia:LoadVars = new LoadVars();
/* Ao clicar do botão enviar */
enviar.onPress = function() {
/* Verifica se preencheu o campo nome */
if (nome_casal.text == “”) {
/* Mostra a mensagem de erro */
status_txt.text = “Preencha o campo Nick Casal corretamente”;
/* Verifica se preencheu o campo nome */
}else if (nome_marido.text == “”) {
/* Mostra a mensagem de erro */
status_txt.text = “Preencha o campo Nome Marido corretamente”;
/* Verifica se preencheu o campo nome */
}else if (nome_esposa.text == “”) {
/* Mostra a mensagem de erro */
status_txt.text = “Preencha o campo Nome Esposa corretamente”;
/* Verifica se preencheu o campo nome */
}else if (telefone.text == “”) {
/* Mostra a mensagem de erro */
status_txt.text = “Preencha o campo telefone corretamente”;
/* Verifica se preencheu o campo email */
} else if (email.text == “”) {
/* Mostra a mensagem de erro */
status_txt.text = “Preencha o campo E-mail corretamente”;
} else if ((email.text.indexOf(”@”) == -1 || email.text.indexOf(”.”) == -1)) {
/* Mostra a mensagem de erro */
status_txt.text = “Preencha o campo E-mail corretamente”;
/* Verifica se preencheu o campo mensagem */
} else if (mensagem.text == “”) {
/* Mostra a mensagem de erro */
status_txt.text = “Preencha o campo Mensagem corretamente”;
/* Verifica se selecionou a opção sim ou opção não do RadioButton */
} else if (casados.selected == false && amaziados.selected == false && namorados.selected==false) {
/* Mostra a mensagem de erro */
status_txt.text = “Selecione Casados Amaziados ou Namorados”;
/* Se tudo estiver ok */
} else {
/* Envia para o PHP a variavel nome com os dados do campo nome */
envia.nome_casal = nome_casal.text;
/* Envia para o PHP a variavel nome_marido com os dados do campo nome */
envia.nome_marido = nome_marido.text;
/* Envia para o PHP a variavel nome_esposa com os dados do campo nome */
envia.nome_esposa = nome_esposa.text;
/* Envia para o PHP a variavel telefone com os dados do campo nome */
envia.telefone = telefone.text;
/* Envia para o PHP a variavel email com os dados do campo email */
envia.email = email.text;
/* Envia para o PHP a variavel cidade com o valor selecionado no ComboBox cidade */
envia.cidade = cidade.value;
/* Envia para o PHP a variavel mensagem com os dados do campo mensagem */
envia.mensagem = mensagem.text;
/* Verifica se a opção casados foi selecionado no RadioButton */
if (casados.selected == true) {
/* A opção casados foi selecionada */
/* Envia para o PHP a variavel news com o valor casados */
envia.news = “casados”;
/* Verifica se a opção amaziados foi selecionado no RadioButton */
} else if (amaziados.selected == true) {
/* A opção amaziados foi selecionada */
/* Envia para o PHP a variavel news com o valor amaziados */
envia.news = “amaziados”;
/* Verifica se a opção namorados foi selecionado no RadioButton */
} else if (namorados.selected == true) {
/* A opção namorados foi selecionada */
/* Envia para o PHP a variavel news com o valor namorados */
envia.news = “namorados”;
}
/* Verifica se o CheckBox semanal foi selecionada */
if (semanal.selected == true) {
/* A opção foi selecionada */
/* Armazena na variável programas o valor semanal */
programas = “semanal, “;
}
/* Verifica se o CheckBox tematico foi selecionada */
if (tematico.selected == true) {
/* A opção foi selecionada */
/* Armazena na variável programas o valor tematico */
programas += “tematico, “;
}
/* Envia para o PHP a variavel programas o valor da variável programas */
envia.programas = programas;
/* Avisa que está mandando o E-mail */
status_txt.text = “Enviando mensagem”;
/* Enviamos as variáveis ao PHP e carregamos a mensagem que vai vir do PHP */
envia.sendAndLoad(”http://localhost/contato.php”,envia,”POST”);
}
};
/* Assim que o PHP for carregado */
envia.onLoad = function(ok) {
/* Se carregou tudo certinho */
if (ok) {
/* Se deu tudo ok no PHP */
if (this.erro == 0) {
/* Chamamos a função limpa */
limpa();
/* Mostra mensagem de sucesso */
status_txt.text = “Mensagem enviada com sucesso”;
} else {
/* Mostra mensagem de erro */
status_txt.text = “Erro ao enviar E-mail”;
}
}
};
/* Ao clicar do botão limpar */
limpar.onPress = function() {
/* Chamamos a função limpa */
limpa();
};
/* Função responsável por limpar os campos do formulário */
function limpa() {
/* Zeramos a variável programas */
programas = “”;
/* Apagamos os campos de texto */
nome_casal.text = “”;
nome_marido.text = “”;
nome_esposa.text = “”;
telefone.text = “”;
email.text = “”;
mensagem.text = “”;
status_txt.text = “”;
/* Voltamos a selecionar o primeiro item dos ComboBox */
cidade.selectedIndex = 0;
/* Deixamos os RadioButtons não selecionados */
casados.selected = false;
amaziados.selected = false;
namorados.selected = false;
/* Deixamos os RadioButtons não selecionados */
semanal.selected = false;
tematico.selected = false;
}
php::::::::::::::::::::::::::::::::::::
<?php
/* Valores enviados pelo Flash */
$nomec = utf8_decode(@$_POST['nome_casal']);
$nomem = utf8_decode(@$_POST['nome_marido']);
$nomee = utf8_decode(@$_POST['nome_esposa']);
$telefone = utf8_decode(@$_POST['telefone']);
$email = utf8_decode(@$_POST['email']);
$cidade = utf8_decode(@$_POST['cidade']);
$mensagem = utf8_decode(@$_POST['mensagem']);
$news = utf8_decode(@$_POST['news']);
$programas = utf8_decode(@$_POST['programas']);
/* Coloquem seu E-mail aqui */
$para = “e-mail@meu.com.br”;
/* Aqui uma pequena verificação para evitar que enviem E-mails sem valores */
if ($nomec != “” && $nomem != “” && $nomee != “” && $email != “” && $cidade != “” && $telefone != “” && $mensagem != “”) {
/* Montamos o E-mail */
/* Criei um exemplo bem simples de E-mail usando HTML */
/* Fiquem livres para modificar conforme desejam */
$corpo = ”.$nomec.”;
$corpo .= ‘Nome Casal: ‘.$nomec.’Nome Marido: ‘.$nomem.’Nome Esposa: ‘.$nomee.’E-mai: ‘.$email.’Estado Civil: ‘.$news.”;
$corpo .= ‘Enviar E-Mail dos Eventos: ‘.$programas.”;
$corpo .= ‘Cidade: ‘.$cidade.’Telefone: ‘.$telefone.’Mensagem: ‘.$mensagem;
/* Aqui modificamos o tipo de E-mail para o formato HTML */
$headers = ‘MIME-Version: 1.0′ . “\r\n”;
$headers .= ‘Content-type: text/html; charset=iso-8859-1′ . “\r\n”;
/* Aqui mudamos o cabeçalho para exibir o E-mail de quem enviou */
$headers .= ‘From:’. $email . “\r\n”;
/* Por fim enviamos o E-mail com os dados recebidos do Flash */
mail($para, $nomec, $corpo, $headers);
/* Retornamos um Ok para o Flash */
print ‘erro=0′;
/* Caso os campos não sejam preenchidos */
} else {
/* Retorna o erro ao Flash */
print ‘erro=1′;
}
?>
Caro Nathan, foi decisivo este exemplo excepcional de formulário. porem para em “A enviar mensagem” e não sai dai mesmo. Pus on-line os ficheiros e nada. Troquei no As2 a linha do local host também não consegui…se puder, por favor de-me ai uma maozinha.
desde já agradecido.
Olá Natan Otimo post.
o q acontece é o seguinte:
preencho todos os campos e tudo, quando mando enviar ele diz enviando mensangem e o flash player da o seguinte erro:
Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://flaviodelima.ueuo.com/vivoli/contato.php
at contato_fla::MainTimeline/contato_fla::frame1()
O q pode ser isso?
Pessoal, aqueles que estão com problemas com o tutorial me mandem um E-mail que eu ajudo sem problemas, responder as dúvidas por aqui não é o certo.
[]s
Olá Natan.
ótimo tuto e belo portfólio.
eu não manjo nada de php e estou apanhando para criar um formlario Flash + php.
Gostaria apenas dos campos Nome e Mensagem.
Depois eu me afundaria mais.
Se for possivel, mande por e-mail.
Muito Obrigado.
Olá Natan
show de bola seu tutorial.
estou tentando adaptar para o meu formulário, mas acho que algo está errado. Ele faz tudo certinho, mas quando clico em enviar, dá a mensagem status_txt Enviando Mensagem, mas nada acontece.
Será que vc pode me ajudar?
Meu script está assim:
no PHP (salvo no Bloco de notas)
<?php
$nome=utf8_decode(@$_POST['nome']);
$email=utf8_decode(@$_POST['email']);
$empresa=utf8_decode(@$_POST['empresa']);
$assunto=utf8_decode(@$_POST['assunto']);
$mensagem=utf8_decode(@$_POST['mensagem']);
$para=”wal@w2publicidade.com.br”;
if($nome!=”"&&$email!=”"&&$assunto!=”"&&$mensagem!=”"){
$corpo=”.$assunto.”;
$corpo.=’Nome:’.$nome.’E-mail:’.$email.’;
$corpo.=’Assunto:’.$assunto.’;
$corpo.=’Mensagem:’.$mensagem.’;
$headers=’MIME-Version:1.0′.”\r\n”;
$headers.=’Content-type:text/html;charset=iso-8859-1′.”\r\n”;
$headers.=’From:’.$email.”\r\n”;
mail($para,$assunto,$corpo,$headers);
print’erro=0′;
}else{
print’erro=1′;
}
?>
NO FLASH 8
var envia:LoadVars=newLoadVars();
enviar_btn.onPress=function(){
if(nome_txt.text==”") {
status_txt.text=”Por favor, preencha o campo Nome corretamente”;
}else if(email_txt.text==”"){
status_txt.text=”Por favor, preencha o campo E-mail corretamente”;
}else if(mensagem_txt.text==”"){
status_txt.text=”Por favor, preencha o campo Mensagem corretamente”;
}else{
envia.nome=nome_txt.text;
envia.email=email_txt.text;
envia.assunto=assunto_txt.text;
envia.empresa=empresa_txt.text;
envia.mensagem=mensagem_txt.text;
status_txt.text=”Enviando mensagem”;
envia.sendAndLoad(”http://localhost/contato.php”,envia,”POST”);
}
};
envia.onLoad=function(ok){
if(ok){
if(this.erro==0){
limpa();
status_txt.text=”Mensagem enviada com sucesso”;
}else{
status_txt.text=”Erro ao enviar E-mail” }
}
};
limpar_btn.onPress=function(ok) {
limpa();
};
function limpa(){
nome_txt.text=”";
empresa_txt.text=”";
assunto_txt.text=”";
email_txt.text=”";
mensagem_txt.text=”";
status_txt.text=”";
}
Thiago, tente fazer o tutorial e qualquer coisa pode me mandar seus arquivos no meu E-mail que eu te ajudo sem problemas.
Olivia, o endereço do seu arquivo PHP é qual? O localhost só funciona quando testado localmente, se você hospedar o arquivo PHP em seu servidor você tem que passar o caminho dele no lugar do localhost.
[]s
ola Natan tu pode me mandar o arquivo fla do teu formulario achei show de bola mas nao estou conseguindo faze-lo, se alguem puder me mandar meu e-mail cassiano@onaissac.com.br
abraço!
Tenho montado e funcionando um Quiz em Flash Action Script 2. Acontece que não necessito de formulário para colher os dados. Já tenho os dois dados de que preciso carregados em dois LABELS. Um com instância COD e o outro com instância INF. GOSTARIA QUE O CONTEÚDO DESTES DOIS LABELS FOSSEM ENVIADOS PARA O MEU EMAIL. Como fazer? Não é mais simples?
Natan… caraa… não funcionou o meu form aki cara… não sei o que eu fiz de errado.. ja revi tudo e acompanhei so comentarios aki, teria como vc me passar o seu arquivo FLA… meu e-mail é designer@robsonfranzoi.com.br , to precisando muitoo caraa… valeu
Natan, não funcionou o meu formulário, não sei o que eu fiz de errado. Revisei tudo e sempre dá o mesmo erro quando compilo:
**Error** Scene=Scene 1, layer=Ações, frame=1:Line 31: ‘)’ expected
} else if (sim.selected == false && nao.selected == false) {
Total ActionScript Errors: 1 Reported Errors: 1
Teria como vc me passar o seu arquivo FLA… meu e-mail é marcelo_lunas@hotmail.com
Agradeço desde já!
Natan, to com um problema nesta parte
envia.sendAndLoad(”http://localhost/contato.php“, envia, “POST”);
da um erro na } por que o final fica comentado.
ai tirei as aspas duplas e coloquei simples assim
envia.sendAndLoad(”http://localhost/contato.php“, envia, “POST”);
ai me retorna o seguinte erro:
Error opening URL ‘http://localhost/contato.php‘ pode me ajudar?
Olá!!
Não consegui !
Fiz tudo direitinho e não funciona.
Existe alguma possibilidade de me enviar os arquivo fla?
Te agradeço desde já.
Abraço forte!
Parabens….
Ainda estou testando meu site e claro ele esta com uns bugs, porem o mais grosso acrdito eu que foi arrumar uma noção para fazer o formulario flash + php. Existe muitos artigos pela net, porem nenhum funcionou direitinho e como eu num pretendo CRT+C CRT+V então fica ruim ficar tentando miçhoes de vezes em noites mal durmidas. Mas é isso ae valew pelo post ajudou horrores… Suceso.
EXCELENTE TUTURIAL
Faz algum tempo que estava procurando uma maneira de fazer um formulário em flash de maneira fácil e confiável, entrei em grandes site como esse e tudo que achei foi lixo atrás de lixo.
O seu tutorial foi perfeito, simples rápido funcional, ainda chamo a atenção para o seu cuidado de testar se os recursos usados no PHP são suportado no servidor o que é fundamental e que NENHUM tutorial que vi teve o cuidado de fazer o teste.
Parabéns pelo seu trabalho daqui por diante você ganhou mais um admirador de seu trabalho e passarei a acompanhar com mais freqüência os seus tutoriais.
Natan eu consegui fazer funcionar perfeitamente. Porém agora estou a inserir o mesmo formulário dentro de um MC existenta na minha página. e infelizmente não posso colocar fora de MC. Onde eu altero as informações para que funcione:
var cidades:Array = ["São Paulo", "Rio de Janeiro", "Belo Horizonte", "Porto Alegre", "Outra cidade"];
(((_root.geral_mc.circulo.))))cidade_cb.dataProvider = cidades;
é só aqui em todos os campos?????? Obrigado!
Natan, boa noite!
Seu tutorial é ótimo. Só uma dúvida.
é possivel usar só a parte de cadastro e descadastro dos e-mails tipo “newsletter”?
Abraços,
Robson Ramalho
oi cara tudo bom, em primeiro lugar o seu site é muito bom uns dos melhores que ja vi,
outra coisa , eu fiz tudo cetinho a menssagem chegar para mim normal no meu email ,mas chega tudo em branco , só chega o formulario em branco vc sabe o que aconteceu???
Olá Natan,
Seu tutorial é um sucesso com todos estes post’s…. camarada, segui os passos do tutorial e não está enviando o e-mail. colocquei no servidor do site para abrir o contato.php, no entanto apresenta mensagem com “erro=1″, o que pode ser ? sou iniciante no negócio. Já com o a página html apresenta corretamente porém não envia nada, o que funciona é o botao de limpar…
Olá Natan!
Estou com quase o mesmo problema do Jose.
Só que o meu, envia. E tentando confirmar todas as entradas, o erro é sempre o mesmo(erro=1)., até mesmo quando está tudo preenchido.Mas, acaba enviando direitinho.
As mensagens que deveriam ser outras é que é sempre essa.
Qual é a dica para solucionar esse problema?
Te agradeço desde já!
Abraço forte!
Olá pessoal, ja vi que alguns tiveram sucesso e outros não conseguiram com esse formidável tutorial, então quero me adiantar antes de criar meu formulario, alguem conseguiu fazer o formulário usando o action script 3.0? pegou direitinho?
boa sorte ai a todos. vlw.
Caro Natan, utilizei o tutorial do formulário Flash/PHP e esta tudo funcionando perfeitamente após eu ter feito minhas adaptações necessárias.
Porém estou precisando de um Help e não consegui após pesquisar bastante:
Como faço para manipular (gotoAndPlay(”2″)) um MC ao clicar em uma das opções de um ComboBox?
MUITO GRATO!!!!
Oi Natan, cara deu quase tudo certo
mas quando eu mando meu arquivo para o servidor
e envio o e-mail
recebo a menssagem que foi enviado corratamente
o meu servidor é HOSTNET e vejo que é o mesmo problema do wesley
mas tentei enviar para o hotmail,com e também não deu ??
oque pode estar dando errado
o meu e-mail
Olá, gostaria de entender essa parte:
envia.sendAndLoad(”http://localhost/contato.php”, envia, “POST”);
e como faço para alterar e colocar o meu form por exemplo, meu site é:
http://www.meusite.com.br/formulario.php
vai ficar como está acima?
olá Natan, formulário preenchido com sucesso. realmente funciona, só uma coisa me deixou intrigado, vc usou no php o utf8_decode para corrigir a acentuação neh? então vamos lá, no imput text instanciado de mensagem_txt não da pra escrever com acentuação, me explica o pq? mais no geral o formulario funciona mesmo, parabens, testado e aprovado.
Natan cara.
estou com problemas ao resolver este formulário.
toda vez que tento enviar um e-mail ele dá “erro ao enviar mensagem”
sabe oque pode estar acontecendo?
quando eu abro o contato.php no link
http://www.bugraan.com/contato.php
ele mostra a seguinte mensagem:
erro=1
sabe oque pode ser?
estou meio ancioso para finalizar este trabalho =/
desde já grato.
Kdu
Natan, perfeito esse tutorial, mto bom! parabens cara!
Mas ta dando um erro pra mim qdo eu mudo as variaveis pro php receber. Eu simplesmente troco os nomes, colocando os nomes da instancia q eu criei. O flash exporta certinho, mas na hora de testar no servidor, ele “erro ao enviar o email”. Eu troco esses dados pq eu recebo o email só com nome, email e mensagem preenchidas, o resto td em branco. E pra receber os outros, preciso incluir esses dados no açoes.
Alguem me ajuda?
Abs
Prezado Natan…ótimo este tutorial…eu que sou meio leigo pude fazer numa boa…
Entretanto estou com um problema aqui…
Ele envia porém a mensagem no meu email vem desse jeito:
Nome: undefined
;E-mail: undefined
Quer receber a Newsletter:
Empresa: undefined
Assunto: undefined
Mensagem: undefined
O que será que acontece?
Desde já obrigado!
abrs!
Natan, excelente o seu tutorial, parabéns pelo trabalho!!
Gostaria, se possível, que você me enviasse os arquivo fla?
eu email é josemauro.moreira@gmail.com
Olá! Td bem, antes de mais nada gostaria de parabenizar pelo tutorial formulário flash com php, ta 10! Parabéns mesmo!!!
Bom.. como estou começando no flash gostaria de esclarecer uma dúvida minha.
Estou usando o exemplo com AS2 que vc fez, mas não entendi uma parte da action que seria a seguinte:
/* Enviamos as variáveis ao PHP e carregamos a mensagem que vai vir do PHP */
envia.sendAndLoad(”http://localhost/contato.php“, envia, “POST”);
A parte do endereço eu deixo assim mesmo ou tenho q mudar?
Eu deixei assim e está dando erro que é o seguinte:
Error opening URL “http://localhost/contato.php”
Eu joguei assim mesmo no servidor (meu servidor suporta PHP) não da mensagem de erro,mas ele fica tentado busca e não sai do nada…
Bom desde já agradeço… se puder me responder tbém!
Abrç
OI Nathan,
Valeu! Só temos um problema, eu estou usando outro php – uso a função mail pois meu servidor perminte. Tive com isso que desabilitar a verificação no envio e só deixei no status que a Mensagem foi enviada com sucesso!
Isto me acarreta em vários cliques no envio pois a função limpar() não esta funcionando e com isso gera dúvida se foi ou não enviado.
É possível ao clicar ir um Frame a frente ai colocaria a mensagem de envio com Sucesso.
Parabéns!
Boa tarde, eu quero fazer algo parecido, mas no entanto estou com problemas pois não consigo receber nada na minha conta de email.
Queria o seguinte no meu formulario: ao clickar em enviar, confirmasse, se estavisse tudo OK, , o formulario enviava os dados para php e dps para o mail. E no flash depois passa-se para a próxima frame.
Todo o formulario sem a caixa de status.
O meu ficheiro encontra-se aqui para me ajudarem -> http://www.aeipam.com.sapo.pt/formulario.zip
Muito obrigado
No caso eu estou querendo criar esse formulario
para meu site de MuOnline.Agora tem um seguinte problema que é a função mail porque eu utilizo um manipulador que chama AppServ que o site fica no pc ai eu fiz aquele arquivo pra ver se tinha a função e da isso:
Warning: mail(): Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in c:\appserv\www\index22.php on line 2
Se alguem tiver a solução me avisa.
E parabens pelo site ae muito bom.De grande ajuda.
Estou usando esse formulario no meu site, muito bom
gostaria de saber qual o e-mail para solucionar algumas duvidas… referente ao PHP. pois o flash ta rodando prefeitinho.
obs…
segue o endereço do que eu estou montando.
http://www.jundveda.com/cotaçao.html
abraço.
Boas,
Eu montei um formulário com base nas suas dicas e quando clico no botão para enviar, fica sempre a enviar, não chega a dizer se o email foi enviado ou não e nem chega a enviar email nenhum.
Testei já com os dois ficheiros no servidor e nada…
O formulário é este: http://twodlrhero-server.22web.net/test.swf
Se quiser os ficheiros: http://twodlrhero-server.22web.net/preview.zip
Espero que me possa ajudar com esta duvida.
Obrigado
Boa noite….
Não funcionao aqui em casa…
devo ter errado em algo…
eu uso um form diferente…
mas não sei carregar a ComboBox.
————–PHP——————-
——–Flash——
FRAME COM:
stop();
Selection.setFocus(”nome”);
//assim o cursor já começará no campo “nome”
destinatario = “antony_graber@hotmail.com”;
//esse é o endereço que receberá a mensagem.
/* Criamos um Array para preencher o ComboBox cidades */
var cidades:Array = ["São Paulo", "Rio de Janeiro", "Belo Horizonte", "Porto Alegre", "Outra cidade"];
/* Preenchemos o ComboBox com os valores do Array */
cidade_cb.dataProvider = cidades;
Cria um botão “ENVIAR”
on (release) {
System.useCodepage = true;
//esse comando acima corrige os acentos no código php
loadVariablesNum(”form.php”, 0, “GET”);
//já este irá carregar o arquivo php e enviar para seu email
gotoAndPlay(80);
//aqui enviamos o flash para o quadro 2 onde terá uma nova programação com novas telas para demostrar ao usuário que o email dele foi enviado
}
gostaria de saber se desta forma há a pocibilidade de capiturar o campo da COmboBox!
Ola Natan
será que você pode me ajudar:
tenho um site hospedado na locaweb
vou adicionar a ele este formulário
que você disponibilizou, achei muito legal, “sem palavras”.
será que você pode me ajudar neste caminho:
A hospedagem da sup.a php
Site: http://www.veritha.com
E.mail: veritha@veritha.com
Error opening URL “http://localhost/contato.php”
Natan muito obrigado
parece que nosso amigo Natan anda muito ocupado ou não escreve mais nesta página
Será que alguém pode me ajudar, assim como nossa amiga Mariah, a mensagem de *enviando mensagem*, é infinita. Seria muito grato se alguém me enviase o código fonte,e o php
Fala galera,
É o seguinte… segui todos os passos, e depois de tomar litros de café, o exemplo não tá rolando em meu localhost, mas um detalhe interessante é q quando hospedo na internet, ele fica bala, funciona perfeitamente, então acho que o problema é em alguma configuração no PHP ou no APACHE.
Caso alguém tenha a solução, que postem aqui, por favor.
Um abraço
Olá tenho um formulario pronto, mas esou com o seguinte problema: ele não reconhece quando coloco os nomes nos campos, isto é, mesmo depois de inserido os caracteres nos campos ele ainda dá a mensagem de alerta como: “Preencha o campo Nome” e assim por diante será que vc pode me ajudar?
Meu script tá assim:
alerta._visible = false;
alerta.ok.onPress = function(){
alerta._visible = false;
}
nome_txt.restrict = “A-Z-A-z-ç-Ç”;
nome_txt.maxChars = 60;
idade_txt.restrict = “0-9″;
idade_txt.maxChars = 2;
ddd_txt.restrict = “0-9″;
ddd_txt.maxChars = 3;
dddc_txt.restrict = “0-9″;
dddc_txt.maxChars = 3;
telefone_txt.restrict = “0-9″;
telefone_txt.maxChars = 10;
celular_txt.restrict = “0-9″;
celular_txt.maxChars = 10;
enviar_mc.onPress = function(){
alerta._visible =true;
}
//botão radio
cidade = cidade_Cbox.getValue();
sexo = radioGroup.selection;
Tsexo = sexo.data;
if(nome_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Nome";
Selection.setFocus("nome_txt");
}
else if(idade_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque uma Idade Válida";
Selection.setFocus("idade_txt");
}
else if(end_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Endereço";
Selection.setFocus("end_txt");
}
else if(bairro_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Nome do Bairro";
Selection.setFocus("bairro_txt");
}
else if(email_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o E-mail";
Selection.setFocus("email_txt");
}
else if(cidade_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Nome da Cidade";
Selection.setFocus("cidade_txt");
}
else if(ddd_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o DDD";
Selection.setFocus("ddd_txt");
}
else if(telefone_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Número do Telefone";
Selection.setFocus("telefone_txt");
}
else if(ddd_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o DDD";
Selection.setFocus("ddd_txt");
}
else if(celular_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Número do Celular";
Selection.setFocus("celular_txt");
}
else if(estado_Cbox.getValue() =="Selecione"){
alerta.alerta_txt.text = "Selecione um Estado";
}
else if(msg_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque sua Mensagem";
Selection.setFocus("msg_txt");
;
}
//ações valor campos
else{
valido = 0;
for(i=0; i<email_txt.length; i++)
if(mail_txt.text.charAt(i) == "@")
valido = 1;
}
//ações
if(valido==1){
loadVariablesNum("enviar.php", 0, "POST");
alerta.alerta_txt.text ="Formulario Preenchido com sucesso"
nome_txt.text = "";
idade_txt.text = "";
end_txt.text = "";
bairro_txt.text = "";
ddd_txt.text = "";
dddc_txt.text = "";
telefone_txt.text = "";
celular_txt.text = "";
email_txt.text = "";
cidade_txt.text = "";
msg_txt.text = "";
}
limpar_mc.onPress = function(){
nome_txt.text = "";
idade_txt.text = "";
end_txt.text = "";
bairro_txt.text = "";
ddd_txt.text = "";
dddc_txt.text = "";
telefone_txt.text = "";
celular_txt.text = "";
email_txt.text = "";
cidade_txt.text = "";
msg_txt.text ="";
}
olá estou com problemas no meu codigo, quando coloco os caracteres nos campos ele não reconhece e continua pedindo para preencher os campos por favor, tem como vc dar uma verificada no meu codigo? Ele é o seguinte:
alerta._visible = false;
alerta.ok.onPress = function(){
alerta._visible = false;
}
nome_txt.restrict = “A-Z-A-z-ç-Ç”;
nome_txt.maxChars = 60;
idade_txt.restrict = “0-9″;
idade_txt.maxChars = 2;
ddd_txt.restrict = “0-9″;
ddd_txt.maxChars = 3;
dddc_txt.restrict = “0-9″;
dddc_txt.maxChars = 3;
telefone_txt.restrict = “0-9″;
telefone_txt.maxChars = 10;
celular_txt.restrict = “0-9″;
celular_txt.maxChars = 10;
enviar_mc.onPress = function(){
alerta._visible =true;
}
//botão radio
cidade = cidade_Cbox.getValue();
sexo = radioGroup.selection;
Tsexo = sexo.data;
if(nome_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Nome";
Selection.setFocus("nome_txt");
}
else if(idade_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque uma Idade Válida";
Selection.setFocus("idade_txt");
}
else if(end_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Endereço";
Selection.setFocus("end_txt");
}
else if(bairro_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Nome do Bairro";
Selection.setFocus("bairro_txt");
}
else if(email_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o E-mail";
Selection.setFocus("email_txt");
}
else if(cidade_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Nome da Cidade";
Selection.setFocus("cidade_txt");
}
else if(ddd_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o DDD";
Selection.setFocus("ddd_txt");
}
else if(telefone_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Número do Telefone";
Selection.setFocus("telefone_txt");
}
else if(ddd_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o DDD";
Selection.setFocus("ddd_txt");
}
else if(celular_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque o Número do Celular";
Selection.setFocus("celular_txt");
}
else if(estado_Cbox.getValue() =="Selecione"){
alerta.alerta_txt.text = "Selecione um Estado";
}
else if(msg_txt.length < 2 ){
alerta.alerta_txt.text = "Coloque sua Mensagem";
Selection.setFocus("msg_txt");
;
}
//ações valor campos
else{
valido = 0;
for(i=0; i<email_txt.length; i++)
if(mail_txt.text.charAt(i) == "@")
valido = 1;
}
//ações
if(valido==1){
loadVariablesNum("enviar.php", 0, "POST");
alerta.alerta_txt.text ="Formulario Preenchido com sucesso"
nome_txt.text = "";
idade_txt.text = "";
end_txt.text = "";
bairro_txt.text = "";
ddd_txt.text = "";
dddc_txt.text = "";
telefone_txt.text = "";
celular_txt.text = "";
email_txt.text = "";
cidade_txt.text = "";
msg_txt.text = "";
}
limpar_mc.onPress = function(){
nome_txt.text = "";
idade_txt.text = "";
end_txt.text = "";
bairro_txt.text = "";
ddd_txt.text = "";
dddc_txt.text = "";
telefone_txt.text = "";
celular_txt.text = "";
email_txt.text = "";
cidade_txt.text = "";
msg_txt.text ="";
}
Natan quero lhe agradecer pela dica, o formulário está funcionando perfeitamente.
Flash + PHP perfeito.
donihum@globo.com
SEGUINTE COLOQUEI SEU PHP NO MEU FORM APARENTEMENTE FUNCIONA TUDO OK
MIAS O E-MAIL NUNCA CHEGA AO SEU DESTINATARIO :/ SABE ME DIZER PQ???
VLWW E EXCELENTE TUTORIAL ABRAÇO
http://www.paisdeouro.orgfree.com SE QUIZER DAR UMA OLHADA NO CONTATO