MacRoger 0 Denunciar post Postado Julho 23, 2010 Olá Flasheiros, Estou com um problema neste tutorial Formulário E-mail Flash+PHP feito pelo Natan. O site que estou fazendo para uma ONG que sou voluntário e achei este formulário de E-Mail bem apropriado para que eu quero, ajudem por favor! É o seguinte: 1°. O site esta hospedado na LOCAWEB - Quando clica em enviar o Formulário ele diz que a mensagem foi enviada com sucesso, mas não chega nada; 2°. O ComboBox do formulário funciona no flash (CTRL+Enter), mas no servidor ele fica estático (não funciona); Segue abaixo os scripts para analise: ActionScript: /* Criamos um Array para preencher o ComboBox cidades */var cidades:Array = ["Selecione","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://www.conviversabersocial.com.br/teste/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;} Script 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 = "rsdesign@globo.com"; /* 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.0rn"; $headers .= "Content-type: text/html; charset=iso-8859-1rn"; $headers .= "From:rsdesign@globo.comrn"; $headers .= "Return-Path: rsdesign@globo.comrn"; // return-path /* Aqui mudamos o cabeçalho para exibir o E-mail de quem enviou */ /* 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'; }?> A todos que puderem me dar uma luz desde já agradeço. :joia: Roger. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Julho 23, 2010 KD a url de exemplo? Pois como você diz com ctrl + enter n vi problema algum e no localhost tbm rodo de boa... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Bastardo 0 Denunciar post Postado Julho 23, 2010 /* Enviamos as variáveis ao PHP e carregamos a mensagem que vai vir do PHP */ envia.sendAndLoad("http://www.conviversabersocial.com.br/teste/contato.php", envia, "POST"); se o arquivo .php e o .swf estiverem na mesma pasta muda essa linha pra /* Enviamos as variáveis ao PHP e carregamos a mensagem que vai vir do PHP */ envia.sendAndLoad("contato.php", envia, "POST"); agora pro combo box, testa com outro navegador, eu to tendo incríveis dores de cabeça por causa do ie, tenta no firefox e vê se funciona, se ainda sim não funcionar tente usar um componente combo box, pode ser que funcione Compartilhar este post Link para o post Compartilhar em outros sites
MacRoger 0 Denunciar post Postado Julho 24, 2010 berseck & Bastardo, Primeiramente obrigado pela atenção. Acho que o problema de não enviar o e-mail é do sistema da LOCAWEB, mas não sei como solucionar, eles falaram que tem uma rotina no PHP que tem que seguir, mas eu não entendo muito de PHP. Segue aqui abaixo o que eles da LOCAWEB me enviaram (link) Clique aqui O site não esta no diretório raiz do servidor, esta em uma pasta (teste), por isso que coloquei o caminho absoluto. Segue abixo a URL do site em teste: Veja aqui Já fiz os testes em todos os Browser's que tenho (Firefox, Internet Explorer, Safari), nenhum deles o ComboBox funcionou. Grato. Roger. Moçada, O problema do ComboBox que não estava funcionamdo no servidor foi resolvido. Como eu faço LoadMovie no nível 1 ai só tive que colocar o componente ComboBox no stage do filme principal e deletar, ou seja, ele tem que estar na biblioteca do main stage. Agora só falta o danado do PHP enviar o formulário de e-mail, a LOCAWEB é F.... Eles não resolve, só manda ler um link sobre o assunto, já li e reli e nada. Valew. Roger. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Julho 26, 2010 Se você tivesse utilizado MovieClipLoader não teria que colocar o combobox no root... mas já que resolveu então ta beleza. Baixa essa classe aqui: http://ajuda.locaweb.com.br/pt-br/Enviar_e-mails_pelo_PHP_usando_o_PHPMailer e utilize ela para enviar seus e-mails. abraços Compartilhar este post Link para o post Compartilhar em outros sites
MacRoger 0 Denunciar post Postado Julho 26, 2010 Berseck, Agradeço mesmo sua atenção, o problema é que o LOCAWEB não aceita e-mail de fora do seu servidor, criei uma conta de e-mail no servidor com a extensão do site e deu certinho. Valew mais uma vez! Roger. Compartilhar este post Link para o post Compartilhar em outros sites