JHerrscher 0 Denunciar post Postado Fevereiro 27, 2009 Olá Comunidade. estou num beco sem saída. Tenho um swf que contem varias seções, uma delas e a de contato. Quando testo o SWF (CTRL+ENTER) funciona perfeitamente, porém quando o coloco numa página HTML, ou seja para que possa ser acessado via navegador, o formulario não funciona, ou melhor, funciona parcialmente, pois a mensagem é enviada, mas o retorno do envio que carrego via OnLoad não é processado. o que posso fazer para solucionar esse problema??? Compartilhar este post Link para o post Compartilhar em outros sites
Alan M. Diniz 1 Denunciar post Postado Fevereiro 27, 2009 Esse html você esta rodando através do apache? Ex: localhost Se estiver abrindo diramente o arquivo html acho que não irá funcionar, pelo menos comigo não funciona. Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Fevereiro 27, 2009 sim, está rodando através do apache. Já efetuei um teste publicando no provedor e o mesmo erro acontece. como podemos solucionar isso? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Fevereiro 27, 2009 O que você quer fazer? Ao chegar a resposta do php que a mensagem foi enviada Mudar o status de envio do campo do formulário?? Se for isso no php tem de acrescentar a linha: echo "variavel=Mensagem Enviada"; e no flash pegar a variavel... e colocar no lugar do status do campo Abraços Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Fevereiro 27, 2009 Todas as questões relacionadas ao envio da mensagem e tratamento dos retornos pelo php estão OK, já que via SWF puro funciona perfeitamente. O ponto está no momento que coloco o swf dentro de uma página web, seja html ou qualquer outra coisa. O retorno não funciona. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Fevereiro 27, 2009 Teria como dar um exemplo dos seus códgios ou do que você fez....... Pq assim de orelhada pode ser milhares de coisas diferentes... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Fevereiro 27, 2009 Esse é o código AS. Lembro que o SWF puro sem estar dentro de um html, por exemplo, está funcionando perfeitamente. O problema está qunado jogo o SWF dentro de um HTML. Daí para de funcionar. stop(); System.useCodepage = true; // usar o formato Unicode, pra não haver problemas com o texto. // atribuindo a ordem de foco dos campos quando a tecla "Tab" for pressionada nome_txt.tabIndex = 1; email_txt.tabIndex = 2; mensagem_txt.tabIndex = 3; status_txt.autoSize = true; /* 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"; } 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 mensagem com os dados do campo mensagem */ envia.mensagem = mensagem_txt.text; /* 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://www.dominio.com.br/envia.php", envia, "POST"); } }; /* Assim que o PHP for carregado */ envia.onLoad = function(ok) { if (ok){ //erro = this.erro; if (this.erro == 1) { status_txt.text = "Erro."; } else { status_txt.text = "OK."; } } }; /* Ao clicar do botão limpar */ reset_btn.onPress = function() { /* Chamamos a função limpa */ reset(); }; /* Função responsável por limpar os campos do formulário */ function limpainput() { /* Apagamos os campos de texto */ nome_txt.text = ""; email_txt.text = ""; mensagem_txt.text = ""; } function reset() { /* Apagamos os campos de texto */ nome_txt.text = ""; email_txt.text = ""; mensagem_txt.text = ""; status_txt.text = ""; } Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 2, 2009 só pra saber o que ele ta retornando, deixa assim o onLoad envia.onLoad = function(ok) { status_txt.text = this }; []´s Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Março 2, 2009 no php eu atribuo à variavel erro=0 (tudo ok) e erro=1 (deu errado). Já fiz o teste e ele retorna os valores corretos. mail($para, $assunto, $corpo, $headers); /* Retorno para o Flash */ /*OK*/ echo 'erro=0'; /* Erro*/ } else { /* Retorna para o Flash */ echo 'erro=1'; } No AS está assim: envia.onLoad = function(ok) { if (ok){ //erro = this.erro; if (this.erro == 1) { status_txt.text = "Erro."; } else { status_txt.text = "OK."; } } }; Muito bem. não acredito que o erro esteja no código, já que, via (CTRL+ENTER) funciona perfeitamente (envia email - recebe a variavel - onload a recebe - a mensagem se deu certo ou não aparece no flash). Já quando coloco o SWF dentro de um HTML não funciona nem a pau. fiz o teste localmente fazendo logicamente as devidas alterações e via provedor e o sintoma é o mesmo. Valeu e aguardo retono Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 2, 2009 você não entendeu, eu pedi para testar daquela forma pra saber o que exatamente esta vindo faz a alteração e veja o que ele joga na na "status_txt", assim fica mais facil saber o que esta acontecendo []´s Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Março 3, 2009 Retorno erro=0%0A&mensagem=textotexto&email=fulano%40fulano%2Ecom&nome=fulano&onLoad=%5Btype%20Function%5D Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 3, 2009 dá pra ver que ele retornou certo tem o "erro=0" ali no meio, o problema é no flash o problema pode ser o tipo de dado pra comparar, testa assim, usando "1" envia.onLoad = function(ok) { if (ok){ if (this.erro == "1") { status_txt.text = "Erro."; } else { status_txt.text = "OK."; } } }; Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Março 3, 2009 Só por curiosidade... Como ta seu código PHP? do envio de e-mail? Pois pode ser ele que errado... na parte de retorno... Se o seu código estiver enviando mensagem..... de volta ao navegador do flash no php deve só aparecer seu echo na tela com resto tudo branco se você acessar ele diretamente.... Da uma testada ai... Isso obvio se você não colocou um bloqueador de acesso direto com die..... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Março 3, 2009 esse teste eu já havia feito e está tudo OK. o código funciona. a questão está no porque isso para de funcionar no momento que coloco o SWF dentro de um html. Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Março 3, 2009 Só por curiosidade... Como ta seu código PHP? do envio de e-mail? Pois pode ser ele que errado... na parte de retorno... Se o seu código estiver enviando mensagem..... de volta ao navegador do flash no php deve só aparecer seu echo na tela com resto tudo branco se você acessar ele diretamente.... Da uma testada ai... Isso obvio se você não colocou um bloqueador de acesso direto com die..... Abraços Testei e só aparece o echo. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Março 3, 2009 tenta dizer para o flash que o arquivo php ta na mesma pasta que ele..... Se você publicar ele na internet... Em vez de dar o caminho completo.... tenta dar só o enviar.php Que pode ser erro de caminho... Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Março 3, 2009 berseck..Eder Antes de mais nada gostaria de agradece-los pelo apoio nesta questão. O código está funcionando..senão eu nem conseguiria enviar a mensagem no teste da scene. A questão continua sendo porque no momento que jogo o SWF numa pagina qualquer (html) para acessar esse objeto no navegador para de funcionar. Att. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 3, 2009 pelo que você disse, ao testar no html, ele manda o email, executa o onLoad do flash, mas não retorna o valor correto? Compartilhar este post Link para o post Compartilhar em outros sites
JHerrscher 0 Denunciar post Postado Março 10, 2009 pelo que você disse, ao testar no html, ele manda o email, executa o onLoad do flash, mas não retorna o valor correto?A variavel "output" que é enviada pelo PHP contém o valor correto do processamento, mas no momento em que vou testar o valor para apresentar a mensagem no movie não funciona. Ex. vamos ententer que o valor da variável output está com valor de 'sent'. Pela condição que está sendo testada, deveria apresentar "Sua mensagem foi enviada com sucesso". Fato. porém isso no ocorre. É apresentada a condição de erro. Se altero o atributo da condição de " == " para "!=" daí entra na condição de "OK". Mas isso também está errado, pois se der algum erro efetivamente, a condição de erro não será acionada. // Todas as variaveis importadas serão enviadas via POST process.sendAndLoad("http://www.dominio.com.br/envia.php", retorno,"POST"); // Avanca para proximo frame _parent.nextFrame(); // Carrega retorno do PHP retorno.onLoad = function() { /* Se carregou tudo certo */ if (this.output == 'sent') { /* Se deu tudo ok no PHP */ _parent.errTitle.text = 'Obrigado.'; _parent.errType.text = 'Sua mensagem foi enviada com sucesso. Em breve entraremos em contato.'; } else { /* Mostra mensagem de erro */ _parent.errTitle.text = 'Erro.'; _parent.errType.text = this; //_parent.errType.text = 'Ocorreu um erro durante o processamento da sua mensagem. por favor, tente mais tarde.'; } Att. Compartilhar este post Link para o post Compartilhar em outros sites