mc2008 0 Denunciar post Postado Janeiro 26, 2009 boas eu estou a fazer um formulário em as2.0 com os components do flash. A questão é que eu quero passar variaveis desse formulário para um php, que me envia depois para o email. Não estou a conseguir passar variáveis dos components, pois coloco só o nome da instância. Todo o formulário está dentro de um movie clip que é chamado na stage. Já agora gostaria de saber como se coloca uma função de browse para ir buscar um ficheiro ao pc e carregá-lo . obrigado pela ajuda :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites
Freelife 2 Denunciar post Postado Janeiro 26, 2009 Sobre a questão do email: //você cria um novo LoadVars var email:LoadVars = new LoadVars(); //depois armazena os dados dos campos de texto. email.emailFrom = emailFrom_txt.text; //quem envia email.emailSubject = emailSubject_txt.text; //assunto email.emailBody = emailBody_txt.text; //conteúdo //envia os dados para o php. email.sendAndLoad("mail.php", 0,"POST"); }; php: <?php // adicione seu e-mail na linha abaixo $recipient = "seuemail@host.org"; $subject = "formulrio de contato"; $msg = "nome: {$_POST["emailFrom"]}\n\n E-mail:{$_POST["emailSubject"]}\n\n Mensagem: {$_POST["emailBody"]}\n"; $mailheaders = "MIME-Version: 1.0\r\n"; $mailheaders .= "Content-type: text/html; charset=UTF-8\r\n"; // adicione seu e-mail na linha abaixo $mailheaders = "From: seuemail@host.org"; mail("$recipient", "$subject", "$msg", "$mailheaders"); ?> Se eu não me engano é assim que se faz. Sobre o envio de arquivos via upload pesquise sobre FileReference. Abraços e até mais Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 27, 2009 Sobre a questão do email: //você cria um novo LoadVars var email:LoadVars = new LoadVars(); //depois armazena os dados dos campos de texto. email.emailFrom = emailFrom_txt.text; //quem envia email.emailSubject = emailSubject_txt.text; //assunto email.emailBody = emailBody_txt.text; //conteúdo //envia os dados para o php. email.sendAndLoad("mail.php", 0,"POST"); }; php: <?php // adicione seu e-mail na linha abaixo $recipient = "seuemail@host.org"; $subject = "formulrio de contato"; $msg = "nome: {$_POST["emailFrom"]}\n\n E-mail:{$_POST["emailSubject"]}\n\n Mensagem: {$_POST["emailBody"]}\n"; $mailheaders = "MIME-Version: 1.0\r\n"; $mailheaders .= "Content-type: text/html; charset=UTF-8\r\n"; // adicione seu e-mail na linha abaixo $mailheaders = "From: seuemail@host.org"; mail("$recipient", "$subject", "$msg", "$mailheaders"); ?> Se eu não me engano é assim que se faz. Sobre o envio de arquivos via upload pesquise sobre FileReference. Abraços e até mais isso passas a variáveis dos component do flash para o php? é que nao estou a conseguir Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 27, 2009 olá mc2008 Siga passo a passo esse tutorial que consiguirá fazer o que desejas http://forum.imasters.com.br/index.php?showtopic=314180 Qualquer dúvida posta que a gente responde Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 27, 2009 é assim , esses formulário ja encontrei na net, a questão é mesmo aplicá-los usando os components do flash, pois não consigo criar uma variável através de um component , se alguem me poder dizer como se faz, os components do flash tem é instâncias mas isso não serve para enviar para php pois não reconhece. obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 27, 2009 .............. Depende do componente que você ta usando você tem de buscar o parametro que ele representa ao colocar o texto... Por exemplo o combobox você tem que pegar os dados do data que foi selecionado... E php não pega intancia propriamente dita ele pega os campos var dos campos de texto de imput text... ou se você fizer como o freelife disse disser que a instancia.text = o conteudo do campo de texto... que ai sim é uma variavel string... e repassar para uma variavel... por exemplo var nome var email var telefone var cidade var cep ai tenho os campos de texto imput text instanciados como textnome textemail texttelefone textcidade textcep para enviar para um arquivo crio uma nova variavel e dou propriedade a ela enviaOBJ:LoadVars = new LoadVars(); enviaOBJ.nome = textnome.text // aqui estou pegando os dados do campo de texto textnome e colocando na variavel enviarOBJ atributo nome E assim por diante... Como você mesmo disse não tem como enviar instancias por isso você transforma o conteudo das mesmas em variáveis que ai sim são entendidas pelo php heheh http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Se vocÊ reparar no meu tutorial e pegar os arquivos vai entender o que eu to falando Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 27, 2009 olarelas é assim o uso de variáveis da-me cabo da cabeça ;) para ser mais simples aqui vai o exemplo pratico tenho 5 components do flash 2 TExtimput, 1 combo Box 2 botoes. os textimput tem o nome de : nome e outro de email o combo box tem o nome (instancia) de pagamento e tem a data [tp, Mb, Cheque] os botoes são simples.... como faço para chamar as variáveis desse components? e qual o comando o botão send (acho que este ja percebi) obrigado com esta ajuda não chateio mais ehehe Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 27, 2009 Nos imputText que tem instancia nome e email você vai colocar a variavel la em propriedades tem um outro campo chamado VAR lá você coloca nome no imput nome e email no que estiver como e-mail. Não esqueça de declarar no action nome = ""; email = ""; para entrar direto com campo em branco! para pegar o valor dos combobox você coloca a instancia neles... e depois digita combobox.value que ele vai dar o valor da combo selecionada...... Então para funcionar Se faz assim Coloca um botão na tela e diga que é o botão enviar na intancia e no action fica assim enviar.onPress = function(){ var enviaOBJ:LoadVars = new LoadVars(); enviarOBJ.nome = nome; enviarOBJ.email = email; enviarOBJ.pagamento = pagamento.value; enviarOBJ.sendAndLoad("mail.php", 0,"POST"); } ai tu cria seu mail.php para pegar essas informações né... Como o freelife mostrou lá em cima Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 27, 2009 o php é que não funciona :( Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 27, 2009 Tente assim <?php $nome = $_POST['nome']; $email = $_POST['email']; $pagamento = $_POST['pagamento']; // adicione seu e-mail na linha abaixo $recipient = "seuemail@host.org"; $subject = "formulrio de contato"; $msg = "$nome\n\n$email\n\n$pagamento"; $mailheaders = "MIME-Version: 1.0\r\n"; $mailheaders .= "Content-type: text/html; charset=UTF-8\r\n"; // adicione seu e-mail na linha abaixo $mailheaders = "From: seuemail@host.org"; mail("$recipient", "$subject", "$msg", "$mailheaders"); ?> Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 27, 2009 ois nao estou a conseguir mesmo :( olha tenho o fla dentro desta directoria : Documento Fla dê uma olhadela e depois envie-me para Medida Criativa isso é parte do formulário, mas conseguindo por isso a trabalhar o resto já fica fácil fica bem obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 27, 2009 Bom estou a cá a responder novamente Caro amigo português :D Ai vais sua maneira de programar: stop (); enviar.onPress = function(){ var enviarOBJ:LoadVars = new LoadVars; enviarOBJ.nome = nome.text; enviarOBJ.telefone = telefone.text; enviarOBJ.email = email.text; enviarOBJ.morada = morada.text; enviarOBJ.cp = cp.text; enviarOBJ.nif = nif.text; enviarOBJ.pagamento = pagamento.value; enviarOBJ.sendAndLoad("mail.php", 0,"POST"); } Código PHP: <?php // adicione seu e-mail na linha abaixo $recipient = "seuemail@seuprovedor.com"; $subject = "formulário de contato"; $msg = "nome: {$_POST["nome"]}\n\n E-mail:{$_POST["email"]}\n\n Telefone: {$_POST["telefone"]}\n\n Morada: {$_POST["morada"]}\n\n Cep: {$_POST["cp"]}\n\n Nif: {$_POST["nif"]}\n\n Pagamento: {$_POST["pagamento"]}\n"; $mailheaders = "From: {$_POST["email"]}"; mail("$recipient", "$subject", "$msg", "$mailheaders"); ?> Com este código estou a acreditar que deve funcionar em seu php caso ele tenha todas as variáveis possiveis. Depois de ver e fazer ele funcionar, por favor trate de colocar um if para testar se os campos estão preenchidos ou não, para que o cliente não envie a informação pela metade. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 28, 2009 ois nao sei se tentaste fazer do teu lado, no meu fiz como disseste mas não recebi email nenhum :( sinceramente já não sei o que fazer para isto dar certo, será por causa dos post do php? vou fazer aqui umas experiências malucas para ver se da...... se tiveres alguma outra sugestão diz fica bem e obrigado B) Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 28, 2009 bem a unica forma de receber o email é configurar o php assim : <?php $recipient = "medida criativa <geral@medidacriativa.pt>"; $destino = "geral@medidacriativa.pt"; $assunto = "Mensagem enviada pelo SmallS"; echo $destino; echo $assunto; mail("$destino","$assunto", "Nome:$nome\n Morada:$morada\n Código Postal:$cp\n Telefone:$phone\n Nif:$nif\n Email:$email\n Formas de pagamento:$pagamento\n Dominio:$dominio\n Dominio Extensao:$dominio_extensao\n Quem somos _X:$qx\n Quem somos _y:$qy\n logotipo _X:$lx\n logotipo _y:$ly\n contactos _X:$cx\n contactos _Y:$cy\n Efeitos imagem:$efeitos\n browse:$file\n ","From:$nome<$email>"); ?> e o flash tem que ter enviar.onPress = function(){ var enviarOBJ:LoadVars = new LoadVars; nome = nome.text; enviarOBJ.telefone = telefone.text; enviarOBJ.email = email.text; enviarOBJ.morada = morada.text; enviarOBJ.cp = cp.text; enviarOBJ.nif = nif.text; enviarOBJ.pagamento = pagamento.value; loadVariablesNum("mail.php", 0,"POST");} a grande questão é que as variáveis vem vazias Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 28, 2009 opa desculpe amigo culpa minha :D ai vai os código... dessa vez testado... Flash: System.useCodepage = true; stop (); enviar.onPress = function(){ var pgOBJ:LoadVars = new LoadVars; var enviarOBJ:LoadVars = new LoadVars; enviarOBJ.nome = nome.text; enviarOBJ.telefone = telefone.text; enviarOBJ.email = email.text; enviarOBJ.morada = morada.text; enviarOBJ.cp = cp.text; enviarOBJ.nif = nif.text; enviarOBJ.pagamento = pagamento.value; enviarOBJ.sendAndLoad("mail.php", pgOBJ,"POST"); nextFrame(); } php: <?php $nome = $_POST['nome']; $email = $_POST['email']; $telefone = $_POST['telefone']; $morada = $_POST['morada']; $cp = $_POST['cp']; $nif = $_POST['nif']; $pagamento = $_POST['pagamento']; // adicione seu e-mail na linha abaixo $recipient = "medida criativa <geral@medidacriativa.pt>"; $subject = "formulário de contato"; $msg = "nome: $nome\n\n E-mail: $email\n\n Telefone: $telefone\n\n Morada: $morada\n\n Cep: $cp\n\n Nif: $nif\n\n Pagamento: $pagamento\n"; $mailheaders = "From: $email"; mail("$recipient", "$subject", "$msg", "$mailheaders"); ?> Resultado do e-mail que eu recebi como teste nome: teste E-mail: teste@teste.com Telefone: Morada: Cep: hahaha Nif: teste Pagamento: Transferência Bancária Recebi assim pois não digitei nem telefone nem morada :) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 28, 2009 Ois já se viu que do teu lado dá, no meu continuo sem receber email, será que é do servidor? o que é preciso pedir ao servidor para alterar isto? porque não vejo outra razão para não dar. obrigado :) Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 28, 2009 Ai tens que conversar para ver se o seu servidor ta com suporte a php... E se os nomes dos arquivos estão corretos, o arquivo php tem de se chamar php e deve estar no mesmo local que o arquivo que chama o formulário para que funcione como digitei ai. Caso contrario tens de dizer o caminho de onde está o php aqui: enviarOBJ.sendAndLoad("mail.php", pgOBJ,"POST"); Modifique a linha do mail.php para o local onde se encontra o seu php Verifique também se o seu servidor não está excluindo como SPAM a mensagem enviada pelo site Teste em um gmail, hotmail, yahoo... ou outro email qualquer para ter certeza que é o servidor Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 28, 2009 ois recebi este comentário do meu servidor Em alojamento windows, será necessário que alterem o script que efectua o envio do email, para efectuar autenticação antes do envio. Caso contrário não será possível efectuarem o envio. basicamente esta a dizer que tenho que mudar o codigo certo? 1 abraço obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 28, 2009 Edited! Aqui vai uma das soluções no código php coloque $host = "mail.exemplo.com"; $username = "smtp_username"; $password = "smtp_password"; //antes de enviar $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($recipient, $subject, $msg, $mailheaders); Acredito que deve ficar assim nunca fiz nada parecido... Abraços Site da onde tirei a informação http://email.about.com/od/emailprogramming...qt/et073006.htm Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 28, 2009 ois ja consegui enviar o ficheiro e receber, so tive que colocar no flash a condição para verificar o email. agora ocorre-me outro problema...o que form que te mandei era uma parte, a questão é que tenho outro form no mesmo movie clip mas numa frame anterior. a questão é : como consigo passar as variáveis de um frame para outro , para que no final ele me envie todo o formulario, como está agora tenho um botao que diz step2 que nos envia para a 2 parte do form e depois tenho um finalizar e ai sim envia as variaveis para o php, o problema é que so recebo as variaveis da ultima frame onde esta o botao enviar, as outras não vão..... será facil? fica bem e obrigadão pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites