Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Henrique

loadVars resgatar valor e adciona-lo a uma variável

Recommended Posts

Olá pessoas,

 

Estou tentado regatar um valor de uma variavel do php estou conseguindo na boa mas o problema é que só consigo exibir este valor com um trace ou instanciando uma campo dynamic e não é isso que preciso eu quero que o valor resgatado seja armazenado em uma variavel no flash meu AS é esse:

 

cont = new LoadVars();cont.onLoad = function() {	trace(this.quant);};cont.load("config.php");
no lugar do trace já coloquei teste = (this.quant) e inúmeras outras coisas mas nada funciona quant é do php

PHP
<?php

        $quant = "10";

        print "&quant=$quant";

?>

 

 

alguém poderia dar uma dica de como resgatar este valor pois preciso utilizado como contador que será informado pelo php , fico no aguardo obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

declare a variavel que ira armazenar o valor, fora do onLoad

 

ACTIONSCRIPT
var teste

cont = new LoadVars();

cont.onLoad = function() {

    teste = (this.quant);

};

cont.load("config.php");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poisé rapaz, eu até tinha feito isso mas não funcionou também, ou funciona e eu não estou sabendo disso,

 

 

var teste;cont = new LoadVars();cont.onLoad = function() {	teste = (this.quant);};cont.load("teste.php");trace(teste);

 

meu trace retorna indefinido, ele não teria que retornar o valor de quant, como é php ele retornaria ao menos isso $nome"; ?> seria o correto e é o que retona com trace no lugar de teste = (this.quant), oura idéia?

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

_global.teste = 0cont = new LoadVars();cont.onLoad = function() {	teste = (this.quant);};cont.load("config.php");

ou assim, só por desencargo! :-s

 

_global.teste = 0cont = new LoadVars();cont.onLoad = function() {	teste = (cont.quant);};cont.load("config.php");

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu testei e deu certo.Arquivos para download

var conta:LoadVars = new LoadVars();conta.load('http://localhost/testesflash/config.php');conta.onLoad = carregarConta; function carregarConta():Void { final = this.qtd; for (a = 0; a <= final; a++) { trace('Você é o visitante nº: ' + a); } };

Compartilhar este post


Link para o post
Compartilhar em outros sites

shumi >>> A tua forma esta me retornando 0 (zero) em trace (teste); parece que ele esta pegando o valor daqui: _global.teste = 0 e ignorando aqui: teste = (this.quant); ou o trace não mostraria o valor vindo do php?

 

 

GuttoSP >> O teu trava meu flash rsrs.. tanto copiando o code como seus arquivos e não é devido ao caminho não pois coloquei o meu aqui.

 

Obrigado, mas outra sugesstão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Luiz é que você esta dando o trace fora.

o certo seria assim:

 

_global.teste = 0cont = new LoadVars();cont.onLoad = function() {	teste = (this.quant);trace(this.quant)// ou trace(teste)};cont.load("config.php");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então era isso mesmo o trace no lugar errado, e imp´lementando o que estou fazendo não funciona, seguindo a lógica de que a varial para ser exibida no trace tem que estar dentro da função suponho que qualquer reaproveitamente em outra função desta var deve ser feita dentro do mesmo também, e fiz isso:

 

cont = new LoadVars();cont.onLoad = function() {	max = (this.quant);	trace("Valor de max: "+max);	num = 1;	vai = setInterval(function () {		alvo.loadMovie("banner"+num+".swf", 1);		trace("Valor de max: "+max);	num++;				if (num == max) {			num = 1;		}	}, 100);};cont.load("config.txt");
Eu terei no site um banner que carregará banners externos dentro dele a cada x tempo muda o banner eu não terei controle de quantos banners estarão sendo inseridos neste site por isso o motivo do contador, no meu sistema em php eu crio um script que informará a quantidade de banners existentes que serão exibidos a idéia é o flash pegar o valor desta variavel (está pegando!), para não fazer um loop infinito na contagem do banner (isto está ocorrendo).

 

Se perceber no meu código tem 2 trace um fora da função setInterval para ver se resgatei o valor da variável e outro dentro de setInterval para ter certeza de que o valor chega ali dentro para que eu possa utiliza-la aqui:

if (num == max) {	num = 1;}
assim quando a var num for igual a max num recebe 1 para reiniciar os banners que muda por aqui:

alvo.loadMovie("banner"+num+".swf", 1);

deu para entender o que quero certo?

 

Meu problema agora é a var max na condição if aqui:

if (num == max) {	num = 1;}
não está chegando de alguma forma o valor do config.txt, mas o engraçado que bem em cima da condição eu coloquei o trace para imprimir o valor e imprime na boa só que o if não funciona se eu colocar um valor em max ex. 10 ele funciona repete as 10 vezes e reinicia mas resgatando o valor não vai, e o mais engraçado ainda que a 1ª vez que montei este código com o setInterval ele funcionou exceto no navegador onde o loop continuava infinito, mas após eu mudar a condição if de = para >= parou de funcionar nem mesmo voltando para o igual.

Já tentei fazer if (num = (this.quant)) também não deu, não sei mais o que fazer, alguma outra idéia rsrrs...

 

Obrigado

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.