ticarp 0 Denunciar post Postado Novembro 11, 2004 Olá pessoas!! Estou fazendo um formulário no flash e queria saber como fazer algumas coisas que faço no php. As coisas são : 1. Como fazer um Radio Button. Para o usuario por exemplo escolha 1 entre 3 destinos para enviar o email. Já fiz exatamente isso só que em PHP. Vejam aqui: Exemplo Radio Button O cidadão escolhe se quer mandar o email para Marketing, Comercial, etc.. Existe esse recurso no flash? 2. Existe como fazer uma confirmação de envio de email real? ou somente uma simulação? No mesmo formulario do exemplo anterior ao enviar os dados o PHP checa se todas os dados essenciais para o envio do email estão corretos e envia o email e depois redireciona para uma página de sucesso. Caso contrario redireciona para uma página de erro. Dá para fazer essa interação no flash? Isso q acho complicado... Esse site tem um form bem legal que diz até q a mensagem estpa sendo processada e depois diz q enviou... vejam: Exemplo (na seção de contatos) Será que é "verdade"? Ou só uma animaçãozinha ilustrativa... Aproveitando... não está nem no topico... nesse ultimo exemplo... percebam q se você não completar o campo corretamente o form pede q você o corrija... como fazer essa validação?? é javascript? alguem tem um exemplo?? Bem... ufa!!! é isso!! Valeu povo!! Abração, Tiago. Compartilhar este post Link para o post Compartilhar em outros sites
GDA 0 Denunciar post Postado Novembro 11, 2004 Sobre radio buttons: Tutorial Radio Buttons Um fla para estudar... Sobre o evio de mail com confirmação: No PHP (arquivo enviamail.php): <?php$destino = "seu@mail.com.br";$assunto = "Assunto do mail enviado por ".$nome;$mailheaders = "From: ".$nome." <".$email.">";$msg = "Nome: ".$nome." \n";$msg .= "E-mail: ".$email." \n\n";$msg .= $mensagem;if (mail($destino, $assunto, $msg, $mailheaders)){ echo "OK, mas isso não vai aparecer...";} else { echo "deu pau... mas tb não vai aparecer... ";}?> No Flash: 1 - Crie um filme com quato quadros. No primeiro coloque o form com um campo de texto para nome, outro para e-mail e outro para a mensagem. Também coloque um botão para enviar. Neste quadro as ações serão: stop();_root.nome_da_instancia_do_botão_enviar.onRelease = function(){ gotoAndStop(4);} 2 - No segundo quadro coloque a mensagem se o envio funcionar; 3 - No terceiro, coloque uma mensagem de erro; 4 - No quarto coloque apenas o seguinte código: phpnome = _root.campo_texto_nome;phpmail = _root.campo_texto_mail;phpmensagem = _root.campo_texto_mensagem;EnviaVars = new LoadVars();CarregaVars = new LoadVars();EnviaVars.nome = phpnome;EnviaVars.email = phpmail;EnviaVars.mensagem = phpmensagem;EnviaVars.sendAndLoad("envia.php", CarregaVars, "POST");/* Isso envia as variáveis para o arquivo enviamail.php e traz o retorno desse arquivo para o segundo objetochamado CarregaVars */CarregaVars.onLoad = function(deuCerto) { if (deuCerto) { gotoAndStop(2); } else { gotoAndStop(3); }}; Boa sorte!!! ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
ticarp 0 Denunciar post Postado Novembro 11, 2004 Fala cara!!! Muito massa velho!!! Era isso mesmo!!! So uma coisa... tentei baixar o arquivo do Radio Button mas ñ consegui... é pago? Só ñ entendi o código do 4º quadro... ele confere se realmente o php pegou os dados... é isso?? EnviaVars.sendAndLoad("envia.php", CarregaVars, "POST");/* Isso envia as variáveis para o arquivo enviamail.php e traz o retorno desse arquivo para o segundo objetochamado CarregaVars */ O destino está envia.php... é esse mesmo ou o enviamail.php?? Abração, Tiago. Compartilhar este post Link para o post Compartilhar em outros sites
GDA 0 Denunciar post Postado Novembro 11, 2004 Na verdade, ele vai mandar um post pro PHP e carregar o arquivo de volta, ou melhor, vai carregar o resultado da execução do php. Se esta execução der algum erro, o flash vai considerar que houve um erro na carga do arquivo (de novo: carga do resultado da execução do arquivo), retornando um "false" (armazenado em "deucerto" no exemplo).Sobre o radio button, pra ser sincero, nunca usei os componentes do flash, e sempre faço os meus próprios quando preciso (principalmente por questões de design). Compartilhar este post Link para o post Compartilhar em outros sites
GDA 0 Denunciar post Postado Novembro 11, 2004 sim... o certo seria "enviamail.php"...EnviaVars.sendAndLoad("enviamail.php", CarregaVars, "POST"); Compartilhar este post Link para o post Compartilhar em outros sites
ticarp 0 Denunciar post Postado Novembro 11, 2004 hum velhão!!!! saquei... o radio butto feito na mão pode ser uma solução... ñ havia pensado assim ainda...só pra ajudar... por exemplo... na verdade os radiobuttons seriam para definir o destino pra onde o conteudo do form seria enviado... o site q estou fazendo possui dois socios... então as opções seriam... sócio 1... sócio 2 ou ambos...como você faz? você vincula o valor da variavel destino a visibilidade dos radio buttons? é isso??Quanto ao esquema do envio eu ainda não saquei a parte do flash... a parte do php eu compreendo pq conheço... mas essas funções do flash de envio e carregamendo de variaveis nunca havia usado...foi mal a enchição de saco cara!!! :D peguei até teu msn!! :D eheheehehAbração, Tiago. Compartilhar este post Link para o post Compartilhar em outros sites
GDA 0 Denunciar post Postado Novembro 11, 2004 Sem problemas... ^_^ Então deve ter sido você que eu rejeitei sem querer agora há pouco, pois a msg chegou na hora que eu estava mostrando um trampo prum cliente... hehehe Manda o pedido de inclusão novamente, ok? Voltando ao assunto, é o seguinte... Radio Buttons: eu "seto" o valor de uma variável (optDestino, por exemplo) de acordo com o botão marcado. Se você tiver paciência de esperar, eu faço um mini tutorial sobre o assunto e coloco de volta aqui em meia hora. sendAndLoad(): É um método da classe LoadVars(). Então vamos entender o código! phpnome = _root.campo_texto_nome;phpmail = _root.campo_texto_mail;phpmensagem = _root.campo_texto_mensagem; Nesta primeira parte eu peguei os valores nos campos de texto criados no primeiro frame. Quando você cria um campo de texto para esta finalidade, você tem de atribuir a ele um nome de variável (lá do painel de propriedades do texto), e é exatamente a esse nome que estou me referindo no trecho acima, por exemplo: _root.campo_texto_nome... é um campo de texto a que foi dado o nome de variável "campo_texto_nome" (_root significa apenas que ele existe no nível raiz do filme). Deste modo, o código começa pegando os valores dos campos e carregando os seus valores a outras variáveis. Obviamente, esta etapa é dispensável, mas eu preferi fazer assim para não me perder com os nomes menos descritivos (no meu projeto original eles eram resultados de variáveis bem menos inteligíveis). EnviaVars = new LoadVars();CarregaVars = new LoadVars();EnviaVars.nome = phpnome;EnviaVars.email = phpmail;EnviaVars.mensagem = phpmensagem; Agora nós construímos "EnviaVars" e "CarregaVars" como objetos LoadVars(), portanto capazes de realizar todos os métodos desta classe. Em seguida, definimos as variáveis que estes objetos irão armazenar para envio e atribuimos a elas os valores retornados dos campos de texto. Portanto: EnviaVars.nome = phpnome... ...por exemplo, significa que eu criei uma variável chamada "nome" que armazenará o valor em "phpnome" para, posteriormente, enviá-lo ao servidor via método POST. Isso é equivalente ao atributo "name" de um elemento qualquer de formulário no HTML, ou ainda, uma variável passada no link (enviamail.php?nome=Gláucio%20de%20Araujo). O importante é que estes nomes de variável sejam iguais aos nomes das variáveis que receberão os valores no PHP. EnviaVars.sendAndLoad("enviamail.php", CarregaVars, "POST"); Este método - sendAndLoad() - executa a ação definida no terceiro termo (que pode ser "POST" ou "GET") em relação ao arquivo discriminado no primeiro e, em seguida, carrega o mesmo arquivo através do objeto discriminado no segundo termo (CarregaVars). Como eu disse antes, do ponto de vista do flash, o que acontece é um POST das variáveis no objeto que chamou o método (no caso, EnviaVars). Em seguida, ele tenta carregar o mesmo arquivo via outro objeto LoadVars() (no caso, CarregaVars). O que vai ser carregado? O conteúdo exato do arquivo como uma sequência de strings? Não! Vai carregar exatamente o que você veria se, ao invés do flash, estivesse olhando para o resultado do php no seu navegador. Isto poderia ser utilizado, por exemplo, para receber outras variáveis em resposta ao processamento do PHP. Como? Simples! Basta você utilizar o "echo" ou um "hide input", ou qualquer outra coisa que escreva no resultado do processamento... &variavelretornada=tal coisa (o "&" é indispensável para o flash!) Tudo que estiver seguindo este formato será compreendido pelo flash como uma variável associada ao objeto LoadVars() que chamou o método load(). Como nós utilizamos o método sendAndLoad(), o load() aconteceu implicitamente através do objeto que nós chamamos de CarregaVars. Também é importante notar que o php do nosso exemplo não irá retornar nenhuma variável em especial, e tudo que precisamos fazer é monitorar o sucesso do processamento do arquivo "enviamail.php", o que será feito através do hendler do evento onLoad()... CarregaVars.onLoad = function(deuCerto) {if (deuCerto) { gotoAndStop(2);} else { gotoAndStop(3);} O hendler onLoad() é acionado ao fim da carga/processamento do arquivo, e retorna apenas "true" ou "false", de acordo com o sucesso da operação. Portanto, se algo der errado no processamento do PHP (por exemplo, se não for possível executar a função "mail()", ou qualquer outro erro), o onLoad() retornará "false". Finalizando, é interessante notar que o método sendAndLoad() é o único que permite a chamada a um arquivo PHP (ou de qualquer outra linguagem de servidor) para envio de dados sem que isso provoque a abertura do resultado do POST na janela do navegador, podendo então ser utilizado quando as coisas devem ficar ocultas aos usuários. Depois dessa, acho que vai, não? ;) Compartilhar este post Link para o post Compartilhar em outros sites
GDA 0 Denunciar post Postado Novembro 11, 2004 Taí o exemplo do radio button feito na mão... Exemplo em SWF Exemplo em FLA para estudo... Bom proveito! ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
ticarp 0 Denunciar post Postado Novembro 11, 2004 Velhão!!Ainda nem li nada mas já me sinto obrigado em postar essa msg para lhe agradecer a atenção!!Brigadão mesmo velho!!!! :D Adicionei de novo você lá no MSN.Deixa eu ler aqui agora!!!! Daqui a pouco posto de novo te agradecendo mais!Abração, Tiago. Compartilhar este post Link para o post Compartilhar em outros sites
ticarp 0 Denunciar post Postado Novembro 11, 2004 Valeu carinha!!!Deu pra pegar umas noções legais.. vou dar uma olhada no guia de referencia de AS pra me aprofundar um pouco mais...Vou testar aqui agora!!!Valeu velhão!Tiago Compartilhar este post Link para o post Compartilhar em outros sites
ticarp 0 Denunciar post Postado Novembro 12, 2004 Massa velho... dá uma olhada de como eu fiz pra associar a um email: marcado = new Array();_root.grupo[1].onRelease = function() { Atualiza(1);};_root.grupo[2].onRelease = function() { Atualiza(2); trace(destino);};_root.grupo[3].onRelease = function() { Atualiza(3);};function Atualiza(index) { for (n=1; n<=3; n++) { if (n == index) { _root.grupo[n].gotoAndStop(2); marcado[n] = true; } else { _root.grupo[n].gotoAndStop(1); marcado[n] = false; } } if (index == "2"){ destino = "teste@teste.com.br";} _root.escolhido = destino;} eu havia tentado colocar if (n == "2") e tal... mas estava dando undefiened... colocando o index ficou massa!! :D deixa ver se eu entendi... o "for" roda todos os valores (1, 2 e 3)... e depois se compara ele ao valor atribuido ao index da function Atualiza, né isso? só ñ entendi uma coisa... o script roda o if e para? ou roda o else tb? pq pensei q se a condição do if fosse satisfeita o else ñ seria rodado... mas pelo q to vendo o if e o else são rodados... é isso? ou viajei muito? ehehehehehe... quanto ao esquema para atribuir o email a ser o destino você achou legal? você faria assim com if tb? valeu cara!!!! abração, Tiago. Compartilhar este post Link para o post Compartilhar em outros sites
GDA 0 Denunciar post Postado Novembro 12, 2004 Salve! O "else" acontece apenas quando a condição em "if" resultar em "false". você tem a impressão de que os dois estão sendo efetuados ao mesmo tempo porque tudo está dentro de um loop "For", ou seja, vai passar sempre uma vez pelas ações da condição verdadeira (n==index) e duas pelas falsas (n!=index). A alteração que você fez no final tb funciona mas, por uma questão de organização, eu prefiro (não é regra) fazer assim: marcado = new Array();_root.grupo[1].onRelease = function() { destino = "destino 1"; Atualiza(1);};_root.grupo[2].onRelease = function() { destino = "destino 2"; Atualiza(2);};_root.grupo[3].onRelease = function() { destino = "destino 3"; Atualiza(3);};function Atualiza(index) { for (n=1; n<=3; n++) { if (n == index) { _root.grupo[n].gotoAndStop(2); marcado[n] = true; } else { _root.grupo[n].gotoAndStop(1); marcado[n] = false; } }} Assim a função "Atualiza(index)" fica apenas para a alteração visual na marcação do grupo de botões, e os destinos são atribuídos imediatamente no clique. Compartilhar este post Link para o post Compartilhar em outros sites
ticarp 0 Denunciar post Postado Novembro 12, 2004 bem pensado atribuir o valor a variavel direto no clique!!! :D estava tão bitolado em usar o if q nem pensei no mais simples!!!Cara... valeu mesmo pela ajuda!!!! :D Deu pra pegar bastante coisa!!!!!!Qualquer coisa em design ou photoshop é só falar velhão!!Abraço, Tiago. Compartilhar este post Link para o post Compartilhar em outros sites