Rowlei 0 Denunciar post Postado Maio 12, 2010 Olá pessoal, estou aqui necessitando da ajuda de você, porque ja tentei de tudo e como sou novo em flash não conseguir resolver. Tenho o seguinte form para contato, os botões e respostas funcionam certinho, só mesmo na hora de enviar o e-mail o mesmo não chega... os objetos estão todos instanciados... Segue o script AS3.0 e abaixo o PHP var tempoMensagem:Timer; //intervalo entre mensagens de aviso var variaveis:URLVariables; //receber dados no flash pra enviar pro script php var urlPhp:URLRequest; //vai amarzenar o arquivo php externo var loader:URLLoader; //carregar e comunicar com arquivo php //iniciamos o programa init(); /*************************** * FUNÇÕES * Toda mecânica está separada em pequenas funções ****************************/ //inicia e configura todo o programa function init():void { //habilitamos acentuação System.useCodePage = true; //limpamos todos os campos de texto antes de começar. limpaTodosCamposTextos(); //cria o Timer com 3 segundos(3000 milesegundos) executa quandoTempoAcabar() apenas 1 vez. tempoMensagem = new Timer(3000, 1); tempoMensagem.addEventListener(TimerEvent.TIMER, quandoAcabarTempo); //quando clicar no botão executa a função enviaMensagem(); enviarBtn.addEventListener(MouseEvent.CLICK, quandoEnviarBtn); } //função de evento, executa a quando clicar no botao enviarBtn function quandoEnviarBtn(e:MouseEvent):void { verificaDadosAntesDeEnviar(); } /* Verificar e se qualquer um dos campos estão vazios ou incorretos, * caso esetja errado, mostra mensagem de aviso. * Se não, no final envia começa enviar os dados...*/ function verificaDadosAntesDeEnviar():void { if(nomeTxt.length < 3) { mostraMensagemAviso("Coloque um nome com pelo menos 3 letras"); } else if(emailTxt.length == 0) { mostraMensagemAviso("Preciso do seu e-mail pra te responder."); } else if(emailTxt.text.indexOf("@") == -1 || emailTxt.text.indexOf(".") == -1) { mostraMensagemAviso("Ops! Esse e-mail não é valido!"); } else if(assuntoTxt.length == 0) { mostraMensagemAviso("Insira um assunto."); } else if(mensagemTxt.length == 0) { mostraMensagemAviso("Ahh! Não esquece da mensagem."); } else{ enviaDadosParaPHP(); } } //responsável por interagir informação do Flash com script PHP function enviaDadosParaPHP():void { mostraMensagemAviso("Enviando mensagem..."); /* iniciamos e criamos variaveis dinamicas * que recebem o conteúdo digitado nos campos do flash * essas variáveis servirão de ponto entre o Flash e script PHP */ variaveis = new URLVariables(); variaveis.nomePhp = nomeTxt.text; variaveis.emailPhp = emailTxt.text; variaveis.assuntoPhp = assuntoTxt.text; variaveis.mensagemPhp = mensagemTxt.text; /* iniciamos variavel que tem o arquivo PHP * devemos aplicar método POST de envio de dados * e transmitimos os dados dos campos do Flash para o script PHP */ urlPhp = new URLRequest("http://www.agenciawebsul.com.br/jmmoveis/mail.php"); urlPhp.method = URLRequestMethod.POST; urlPhp.data = variaveis; /* iniciamos variavel responsável por "recuperar" dados/informações do PHP * quando estiver completo o carregamento do arquivo PHP, executa a função que confirma envio. * quando surgir erro durante o envio, executa a função que mostra mensagem de erro. * e carregamos o arquivo PHP armazenado na variavel urlPhp */ loader = new URLLoader(); loader.addEventListener(Event.COMPLETE, quandoEnviadoMensagem); loader.addEventListener(IOErrorEvent.IO_ERROR, quandoHouverErroNoEnvio); loader.load(urlPhp); } //Função de evento, mostra ao usuário que a mensagem foi enviada com sucesso. function quandoEnviadoMensagem(e:Event):void { mostraMensagemAviso("Mensagem enviada!"); iniciatempoMensagemDeAviso(); limpaTodosCamposTextos(); } //Função de evento, mostra ao usuário que houve algum erro durante o envio. function quandoHouverErroNoEnvio(e:IOErrorEvent):void { mostraMensagemAviso("Ops! Surgio erro! Tenta novamente."); iniciatempoMensagemDeAviso(); } //Função de evento do Timer, limpa o campo de aviso, funcao do Timer function quandoAcabarTempo(e:TimerEvent):void { mostraMensagemAviso(""); } /* Limpa todos os campos de textos digitados pelo usuário * depois aplica foco do cursor de texto no campo nomeTxt */ function limpaTodosCamposTextos():void { nomeTxt.text = emailTxt.text = assuntoTxt.text = mensagemTxt.text = ""; stage.focus = nomeTxt; } /* Destinada pra enviar mensagem de aviso * e apaga esse aviso após 3 segundos usando timer.*/ function mostraMensagemAviso(texto:String):void { avisoTxt.text = texto; } /* Destinado pra reniciar e iniciar intervalo Timer * Pra não atropelar o tempoMensagem de cada mensagem de aviso que foi disparada antes*/ function iniciatempoMensagemDeAviso():void { tempoMensagem.reset(); tempoMensagem.start(); } Scrip PHP nomeado como mail.php <?php //coloque o email de destinatário: $enviaPara = 'email@site.com.br'; //Criamos variaveis PHP que recupera as Variaveis criadas no Flas $campoNome = $_POST['nomePhp']; //retorna o valor digitado no campo "nomeTxt" do Flash $campoEmail = $_POST['emailPhp']; //retorna o valor digitado no campo "emailTxt" do Flash $campoAssunto = $_POST['assuntoPhp']; //retorna o valor digitado no campo "assuntoTxt" do Flash $campoMensagem = $_POST['mensagemPhp']; //retorna o valor digitado no campo "mensagemTxt" do Flash //Assunto padrão do seu e-mail $subject = 'www.agenciawebsul.com.br'; //Monta o corpo da mensagem enviada $mensagem = "Nome: ".$_POST['nomePhp']." \n"; $mensagem .= "E-mail: ".$_POST['emailPhp']." \n"; $mensagem .= "Assunto: ".$_POST['assuntoPhp']." \n\n"; $mensagem .= "Mensagem: \n". $_POST['mensagemPhp']; //e-mail do remetente: $mail_headers = 'From: '.$_POST['emailPhp']; //envia o e-mail mail($enviaPara, $subject, $mensagem, $mail_headers); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Maio 12, 2010 Desculpe perguntar, já vi colegas com problema semelhante. Seu server tem suporte a PHP? Se for possível publicar um link com o seu fla eu testo no meu server (uso CS4). O tempo é curto, isso facilita bastante. Não tenho domínio, mas por comparação dá para perceber se há alguma diferença. Tenho uma página de teste com um form em AS3 + PHP (no meu perfil tem um link), baixei um template editei e publiquei, funcionou na primeira. Os ajustes foi com o auxílio dos colegas aqui do fórum. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 12, 2010 3 perguntas 1 - Verificou se não ta chegando os e-mails na caixa de spam? 2 - Seu e-mail precisa de envio de SMTP? login e senha para enviar e-mail? 3 - Testou com gmail... hotmail... whatever mail? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Rowlei 0 Denunciar post Postado Maio 12, 2010 3 perguntas 1 - Verificou se não ta chegando os e-mails na caixa de spam? 2 - Seu e-mail precisa de envio de SMTP? login e senha para enviar e-mail? 3 - Testou com gmail... hotmail... whatever mail? Abraços testando no gmail e hotmail amigo não esta chegando na caixa de spam... continuo a procura da solução kkkobrigado Berseck, abraço! Pessoal, resolvi.... O problema era com o endereço do arquivo mail.php, tudo certinho agora funcionando qeh uma beleza... Abraço e obrigado pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Maio 13, 2010 Legal que conseguiu Rowlei. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Valeu por dar um retorno. Isso é muito útil a outros colegas que buscam auxílio no fórum. Grande abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Hsantos 0 Denunciar post Postado Julho 5, 2010 Como resolveu rowley ? estou com o mesmo problema e é exatamente este mesmo codigo , mesmo assim não vai ! só se eu exportar , mas no server não Ir para o topo Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Julho 6, 2010 Como resolveu rowley ? estou com o mesmo problema e é exatamente este mesmo codigo , mesmo assim não vai ! só se eu exportar , mas no server não Ir para o topo Caro amigo Hsantos O colega Rowlei informou que corrigiu o endereço do arquivo "mail.php" no swf e o form funcionou. Sugiro criar um novo tópico, não deu pra compreender o que significa "exportar". Abraços Compartilhar este post Link para o post Compartilhar em outros sites