Ir para conteúdo

POWERED BY:

Arquivado

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

wagatim

[Resolvido] Loadvars() SÓ nao funciona no internet explorer

Recommended Posts

Prezados amigos,

 

Uso o Loadvars dentro do Flash CS4 com AS2.

Carrego uma variável que vem de dentro de um arquivo .PHP

Com o valor da variavel eu modifico o flash. Até aí tudo bem!

 

O código está correto, porque funciona perfeito no Firefox, Opera e Chrome.

SÓ NO INTERNET EXPLORER que parece não estar carregando a váriavél do PHP.

 

Parece que o IE nao consegue atualizar imediatamente como os outros. Se eu entrar no endereço PHP manualmente e atualizar o browser com F5 algumas vezes ee voltar pra página, aí ele pega a variavel.

 

Alguém pode ajudar???

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quais códigos está usando para exibir as variáveis no php e pra pegar essas váriáveis no Flash?

 

Antes de mais nada deixe-me esclarecer que é um sistema de Login.

 

Bom, no Flash eu tenho um botão de login, e no on(press) desse botão eu envio as variáveis para o PHP através de um loadvars():

 lv.send("http://www.pagina.com.br/LOG.php","_self","POST");		

Já no PHP, eu faço o seguinte raciocinio:

Verfico se já existe um coockie gravado.

Se existir é porque esta conectado, então eu dou um echo informando a variavel situacao e volto para a pagina inicial.

 

echo '&situacao=conectado';
echo ' <meta http-equiv="refresh" content="1; URL=index.php"> ' ;

 

Se o coockie nao existir, então eu pego o $_POST do usuario e senha, verifico no banco de dados, se estiver tudo OK, eu crio os coockies no php e dou o echo do mesmo jeito do codigo acima.

 

 

No onLoad do filme eu sempre verifico a variavel situacao que vem do arquivo LOG.php:

var lv:LoadVars = new LoadVars();

lv.onLoad = function ()
{
    if(lv.situacao == "conectado")
    {
	gotoAndStop(3);
    }
    else {
            gotoAndStop(2);
         } 
}

lv.load("LOG.php");

 

Funciona em todos os browsers, só no I.E que parece que não esta gravando os coockies instantaneamente.

 

Se eu for manualmente no arquivo LOG.php e der várias vezes F5, aí uma hora a situacao muda para conectado. Então é só voltar no index.php que ele faz normalmente o codigo como os outros browsers.

Compartilhar este post


Link para o post
Compartilhar em outros sites

echo '&situacao=conectado'; <------ feche o &

 

assim:

echo '&situacao=conectado&';

 

Se n fizer isso o flash ta recebendo a seguinte info:

echo '&situacao=conectado<meta http-equiv="refresh" content="1; URL=index.php"> ->> e tudo que vier depois disso no seu script php

 

 

E se quiser bote um pog no seu arquivo assim:

lv.send("http://www.pagina.com.br/LOG.php?cacheKill="+Math.random()*999,"_self","POST");

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

echo '&situacao=conectado'; <------ feche o &

 

assim:

echo '&situacao=conectado&';

 

Se n fizer isso o flash ta recebendo a seguinte info:

echo '&situacao=conectado<meta http-equiv="refresh" content="1; URL=index.php"> ->> e tudo que vier depois disso no seu script php

 

 

E se quiser bote um pog no seu arquivo assim:

lv.send("http://www.pagina.com.br/LOG.php?cacheKill="+Math.random()*999,"_self","POST");

 

Abraços

 

Bersec, Ate tentei os códigos aí que voce passou mas continua a mesma coisa.

 

O que estou percebendo é que os coockies não são considerados criados nem excluídos instantaneamente como nos outros Browsers.

e dentro do PHP eu crio usando o setcoockie() normalmente.

 

ja aconteceu com alguem ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri qual é o problema!! Essa vai servir pra muita gente

 

Vejam:

- No I.E você vai em FERRAMENTAS -> OPÇÕES DE INTERNET, e em Histórico de Navegação clique em CONFIGURAÇÕES;

- Na opção: Verificar se há versões mais novas das páginas armazenadas, vai estar selecionada como Padrão: AUTOMATICAMENTE;

- A solução pra funcionar igual todos os outros browsers foi selecionar a opção: SEMPRE QUE EU VISITAR A PÁGINA DA WEB;

 

O grande problema é que essa opção é PADRÃO no Internet Explorer.

 

Então pra solucionar de vez eu fui no arquivo PHP e no inicio do codigo eu modifiquei o cabeçalho para a data sempre ficar atrasada, ficando assim:

 

<?PHP 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Data no passado
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Sempre modificado
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
?>

 

Obs: O I.E é sempre um problema à parte. Toda vez que terminamos um trabalho e testamos os códigos, é sempre necessário fazer uns testes a mais no IE e provavelmente fazer alguma adaptação pra ele. Os demais browsers funcionam perfeitamente com a lógica e os códigos, mas o IE na maioria das vezes tem q dar mais trabalho. Não gosto de IE, ele não interpreta várias coisas e tem algumas funçoes que só atrapalham, ao invés de ajudar.

 

Obrigado a todos os amigos que ajudaram!

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.