Comunidad de diseño web y desarrollo en internet online

Ayuda con PHP + Actionscript

Citar            
MensajeEscrito el 25 Sep 2006 09:32 pm
Bnas
Tengo el siguiente problema:
Tengo una barra de navegacion en swf (barra.swf), y un archivo php llamado ln.php q determina en q idioma se van a cargar las paginas desde esta barra de navegacion. Por ejemplo si presiono CONTACT el enlace deberia ser "index.php?modulo=contact&ln=en" lo q quiere decir q la pagina CONTACT contiene su texto en ingles.

Este es el contenido del archivo ln.php

Código :

<?php
if ($_GET["ln"]=="")$ln = "en";
else $ln = $_GET["ln"];
echo "&ln=".$ln;
?>


Y esto es lo q contiene CONTACT en actionscript en mi archivo barra.fla

Código :

on(release) {
var a = new LoadVars();
a.onLoad = function(exito){
 if(exito){
  var ln = a.ln;
 }
 else{
  trace ("Error");
 }
}
a.load ("ln.php");
getURL("index.php?modulo=contact&ln="+ln,"_self");
}


El archivo ln.php se encuentra en la misma carpeta donde está barra.swf y devuelve el valor correcto, pero el incoveniente está en el archivo barra.fla q no encuentra el valor de "ln" y por consiguiente no abre la pagina traducida pues devuelve la siguiente url:

Código :

index.php?modulo=contact&ln=undefined
:(

Espero puedan ayudarme. Gracias

Por drenzzo

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Sep 2006 03:41 am
primero no creo que sea bueno que cada vez que tengas que usar tu btn contact hagas una consulta a php, es perdida de tiempo (por la trasferencia de datos)

podrias guardarlos valores en la raiz del flash y utilizar un funcion para ejecutar o una clase..

Código :

<?php
if ($_GET["ln"]=="") {
     $ln = "en";
} else {
     $ln = $_GET["ln"];
}
echo "&ln=".$ln;
?>


creo que eso puede ser ...

Por cruzexx

90 de clabLevel

1 tutorial

Genero:Masculino  

viña del mar

firefox
Citar            
MensajeEscrito el 26 Sep 2006 05:53 am
cruzexx ese codigo php funciona, si solo tienes una sentencia no hace falta abrir y cerrar las llaves ;)
En cualquier lenguaje que este basado en la sintaxis de C, es posible por ejemplo Actionscript.

Ahora drenzzo, tu problema es que no estas esperando que se ejecute y responda el codigo php. Mira

a.load ("ln.php"); <-- supongamos que tarda 1 seg responder alli
getURL("index.php?modulo=contact&ln="+ln,"_self"); <-- pero esto se ejecuta en menos de un segundo


Solo haz esto:

Código :

a.onLoad = function(exito){

 if(exito){

  var ln = this.ln;
  getURL("index.php?modulo=contact&ln="+ln,"_self");

 }

 else{

  trace ("Error");

 }

}

a.load ("ln.php");



}


Dentro de un evento refierete al objeto, con this no con su nombre, lo digo por esto:

Código :

var ln = a.ln;

debe ser

Código :

var ln = this.ln;

Creeme te ahorrará muchos problemas ;)

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.