Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dinhorj

Erro ao receber variavel do PHP

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.