dinhorj 0 Denunciar post Postado Dezembro 12, 2010 Olá pessoal, estou a 22 dias quebrando a cabeça e não consigo fazer a variavel do php ser recebida corretamente pelo flash. Criei um botão chamado btn, quando clico nele faço um trace do nome da variavel e sempre retorna erro. estou desesperado e não sei mais o que fazer. Preciso muito da ajuda de alguem. //AS3 frame 1 import flash.events.MouseEvent; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLLoaderDataFormat; import flash.events.Event; btn.addEventListener(MouseEvent.CLICK, klik); function klik(e:MouseEvent):void{ var req:URLRequest = new URLRequest("arquivo.php"); var loader:URLLoader = new URLLoader(req); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE, carregou); } function carregou(e:Event):void{ trace( e.target.data.username); } trace( e.target.data.username); } //PHP <?php if (!$_POST["username"]||$_POST["username"]=="Mail") $username="Mail".rand(100,99999); else $username=$_POST["username"]; $username=preg_replace("/[^0-9a-zA-Z]/","-",$username); setcookie("username",urlencode($username),time()+36000); $username=($username); echo ("$username"); ?> //O trace retorna o seguinte erro: Error: Error #2101: A String passada para URLVariables.decode() deve ser uma string de consulta codificada em URL que contém pares de nome/valor. at Error$/throwError() at flash.net::URLVariables/decode() at flash.net::URLVariables() at flash.net::URLLoader/onComplete() Já pesquisei na internet por dias , já tentei milhões de códigos que achei sobre carregar variaveis no flash com as3 mas todos sem sucesso. se alguém puder me ajudar agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Dezembro 13, 2010 testa mudar o URLLoaderDataFormat.VARIABLES para URLLoaderDataFormat.TEXT []´s Compartilhar este post Link para o post Compartilhar em outros sites
dinhorj 0 Denunciar post Postado Dezembro 13, 2010 Cara já tentei tudo, TEXT - BINARY e nada. Já coloquei varios códigos em as3 e nao funciona retorna sempre esse erro 2 Minha aplicação é um formulário, quando ele abre o campo código (variavel do php) já é preenchido com essa variavel do php. no entanto só recebo Error: Error #2101: A String passada para URLVariables.decode() deve ser uma string de consulta codificada em URL que contém pares de nome/valor. Andei pensando e outra solução que estou tentando para resolver é o seguinte: no endereço do navegador aparece o senguinte: http:// meusite.com.br /imagens/ finished.php?result=Saved&stream=Mail45548&recording=Mail45548 existe aguma forma que eu possa recuperar só isso do endereço (Mail45548), aí meu campo do formulário seria preenchido com esse ultimo valor da URL. (Mail45548). O mais engraçado é que em AS1 funciona mas minha aplicação é em AS3, tudo que eu preciso é receber o nome dessa variavel e coloca-la em um textfield, no entanto consigo em AS1 pporem preciso em AS3 AS1 var here = this; varReceiver = new LoadVars(); varReceiver.load("http://www.meusite/.com/arquivo.php"); varReceiver.onLoad = function() { trace(this.username); }; FUNCIONA PERFEITAMENTE EM AS1. Galera to ficando maluco é to quase desistindo to a muito tempo procurando pesquisando antes de postar aqui. Agradeço a ajuda de todos. E muito obrigado por responder. Cara pensei o seguinte como não consigo receber a variavel do php, resolvi tentar capturar o endereço da url, já que lá aparece o nome exato que eu preciso, fiz o seguinte: No brouser aparece assim: http:// meusite.com.br/ imagens/ finished.php?result=Saved&stream=Mail11977&recording=Mail11977 no formulário adicionei o seguinte: AS3 import flash.external.ExternalInterface; var urlStr:String = ExternalInterface.call('window.location.href.toString'); txCodigo.text= urlStr; assim ele preenche o campo código com o endereço do browser, agora preciso só remover (http://meusite.com.br/imagens/finished.php?result=Saved&stream=Mail11977&recording= ) e deixar só Mail11977. Alguem saberia alguma forma de separar essas variaveis ou deixar somente depois do ultimo =. agradeço a ajuda. Obrigado a todos mais acabei dando uma outra solução! Peguei a url e separei somente os 9 caracteres que eu queria. Fica o código em as3 pra quem precisar de solução paracida, no entanto ninguém soube me dizer porque não recebo a variável do PHP . Acabei criando uma outra forma de fazer o que eu precisava. AS3 import flash.external.ExternalInterface; var urlStr:String = ExternalInterface.call('window.location.href.toString'); txMessage.text= urlStr.slice(81,90); Compartilhar este post Link para o post Compartilhar em outros sites
Márcio Rosa 0 Denunciar post Postado Janeiro 15, 2011 O erro não está no flash e sim no php Invês de dar um echo assim echo ("$username"); Você da um echo assim echo ("username=$username"); //a saida para isto vai ser assim no php username=marcio entao o flash lerá a variável (e.target.data.username) o seu devido conteudo marcio. Olá pessoal, estou a 22 dias quebrando a cabeça e não consigo fazer a variavel do php ser recebida corretamente pelo flash. Criei um botão chamado btn, quando clico nele faço um trace do nome da variavel e sempre retorna erro. estou desesperado e não sei mais o que fazer. Preciso muito da ajuda de alguem. //AS3 frame 1 import flash.events.MouseEvent; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLLoaderDataFormat; import flash.events.Event; btn.addEventListener(MouseEvent.CLICK, klik); function klik(e:MouseEvent):void{ var req:URLRequest = new URLRequest("arquivo.php"); var loader:URLLoader = new URLLoader(req); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE, carregou); } function carregou(e:Event):void{ trace( e.target.data.username); } trace( e.target.data.username); } //PHP <?php if (!$_POST["username"]||$_POST["username"]=="Mail") $username="Mail".rand(100,99999); else $username=$_POST["username"]; $username=preg_replace("/[^0-9a-zA-Z]/","-",$username); setcookie("username",urlencode($username),time()+36000); $username=($username); echo ("$username"); ?> //O trace retorna o seguinte erro: Error: Error #2101: A String passada para URLVariables.decode() deve ser uma string de consulta codificada em URL que contém pares de nome/valor. at Error$/throwError() at flash.net::URLVariables/decode() at flash.net::URLVariables() at flash.net::URLLoader/onComplete() Já pesquisei na internet por dias , já tentei milhões de códigos que achei sobre carregar variaveis no flash com as3 mas todos sem sucesso. se alguém puder me ajudar agradeço. Compartilhar este post Link para o post Compartilhar em outros sites