Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
Carregando comentários...