Regístrate gratis para participar de los foros, o si ya estás registrado haz login.
| comentario del autor | Lun Oct 08, 2007 11:58 pm | |
|
Cargar = new LoadVars(); Cargar.load("http://localhost/v3beta/videoconferencia.php"); Cargar.onLoad = function(exito) { if(exito) { Nom_txt.text = this.nmbr; } else { Nom_txt.text = "No se pudo"; } } Este es mi código php: $Nombre = $_POST["nombre"]; echo "<embed src = 'Videoconferencia1_Conferencista.swf' autostart = 'true' quality = high pluginspage = 'http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type = 'application/x-shockwave-flash' width = '1024' height = '768' name = 'pizarra_ie' id = 'pizarra_ff'></embed>"; echo utf8_encode("&nmbr=".$Nombre."&"); y el campo de texto Nom_txt me muestra "Undefined". Ya logré cargar variables desde un archivo de texto pero en php no funciona y en todos los foros dice que sí. Lo he probado con el AppServ y con el Centos y nada... ¿Alguna opinión amigos? Gracias |
||
| comentario | Mie Nov 28, 2007 9:26 pm | |
David Fragoso Cháidez escribió:Amigos he estado buscando la forma de pasar valores de php a Flash mediante el objeto loadVars. Este es mi código Actionscript en Flash: No, no esta mal implementado, no puede ir lo que queres que cargue flash en la misma página que estas enviando los tags ya que son dos lineas de ejecución distintas si lo queres hacer así yo agregaria en el embed un campo nmbr=".$Nombre." que a este lo podes leer dentro del flash, sino me equivoco era _root.nmbr Espero que te sirva, cualquier cosa avisa. Saludos |
||
| comentario del autor | Mie Nov 28, 2007 11:41 pm | |
|
Descubrí que el archivo flash si capta el nombre del mismo php que lo contiene pero solo me muestra la variable si la asigno así en el php: $Nombre = "Karla"; pero si trato de recoger el valor así: $Nombre = $_POST["nombre"]; en el flash me sale undefined y si compruebo con una salida normal de php el valor de $Nombre sí me despliega su valor: "Karla". El flash no puede captar un valor que fué previamente enviado al php por otra página, solo un valor asignado en el mismo php que contiene al flash La forma en que lo estoy haciendo funcionar es mediante un archivo de texto así: 1 en el html capto el nombre y lo envío al php 2 en el php creo un archivo de texto donde escribo el nombre 3 el flash lee el nombre del archivo de texto Pero yo quiero hacerlo directamente del php para ahorrarme tanto proceso Acepto opiniones |
||
| asistió a la solución | Jue Nov 29, 2007 2:00 pm | |
|
Me explico un poco, PHP es solamante un lenguage interpretado, cuando lo ejecutas el CPU genera una linea de ejecución que procesa el mismo, como salida obtenes en este caso una página html, se envia esa página a tu navegador a través del servidor y el thread de ejecución de ese PHP muere. Una vez q la pagina la recibe tu navegador, este procesa el html y gestiona los archivos que faltan, entre esos archivos que faltan están el flash, pero notá que a estas altura el proceso de PHP no existe, por eso es que no te permite enviar las variables. Probá con esto y contame: Código:
Código:
Por supuesto lo q te explique arriba es sumamente básico y considerando ceteris paribus un montón de variables, el proceso es un poco más complejo y varia según infinidad de configuraciones. Espero q te sirva. Saludos. PD: Ojo q <embed> funciona en algunos navegadores nomás debes usar <object> también. |
||
| comentario del autor | Jue Nov 29, 2007 6:43 pm | |
|
Pienso que un valor recogido por $_POST es un valor html y FLASH no lee html sino php. Como explicaste, las salidas php son html, pero Flash lee php como texto, o algo no he hecho bien. Si tienes mas ideas son bienvenidas, a mi ya no se me ocurre nada... |
||
| solución | Jue Nov 29, 2007 9:47 pm | |
|
nombreflash.swf?variable=valor y adentro la capturas así: _root.variable Es como está especificado en la documentación de flash, esto lo hacia hace bastante tal vez habrá cambiado... pero no creo...., proba haciendo un flash nuevo en blanco y que tenga el campo a mostrar la variable nomás, que tenga un solo frame la pelicula, tal vez te estes perdiendo en algún lado. Para descartar errores en PHP abrí el flash con tu navegador web, asegurate que sea via server y agregale la variable atras para q te las muestre, ej: http://localhost/flash.swf?variable=valor Una vez q te funcione así despúes utilizas PHP, notaste q en la version q te pase el nombre de flash esta seguido por un par la variable?, ojo todo esto probalo a nivel http, no se si a nivel file te permita acceder. Cita: No, vos sabes q estas confundido a mi criterio, PHP es solo un encapsulado que contiene en este caso código HTML, flash no lee ni PHP ni HTML, dependiendo con las funciones que trabajes flash lee XML o texto plano, el tema es que para lo que querés hacer y utilizar funciones como SendAndLoad o LoadVars deberás pasarle a PHP una session para que sepa a que te estas refieriendo pero justamente para q sepa esa sesion debes antes pasarla a Flash por lo que sería medio embano utilizarlo de esta forma, te grafico: 1.Navegador Busca Pagina -> 2.server recibe peticion -> 3.PHP se ejecuta->devuelve página -> 4.server responde a navegador -> 5.navegador recibe pagina -> 6.lee el código html -> 7.encuentra un flash -> 8.(via el metodo que te indique le pasas la sesion) -> 9.flash consulta otro PHP a traves de la funcion LoadVars y envia la sesion en la peticion -> 10.el otro PHP responde en texto plano header('Content-type: text/plain'); un conjunto de par claves, valores.(el formato es igual al archivo de texto q estas usando ahora) -> 11.Flash recibe los parametros lee los par clave valores y los carga -> 12.los imprimis donde convenga. Por supuesto en vez de hacer esto te conviene mandar el par clave valor q necesitas direcamente en el paso 8 y te ahorras varios pasos y consultas. Para ver lo que te digo crea un PHP así: Código:
y ponele de nombre hola.php, en el flash cambia Cargar.load("http://localhost/v3beta/videoconferencia.php"); por Cargar.load("http://localhost/v3beta/hola.php"); Ahí vas a comprobar q Flash si lee PHP. Por favor notá que cuando dije: Código:
es que elimines todo esto: Código:
y dejes lo anterior. Espero que te sirva. Saludos |
||
| comentario | Jue Nov 29, 2007 9:59 pm | |
Código:$Nombre = $_POST["nombre"]; por Código:$Nombre = (isset($_POST["nombre"])) ? $_POST["nombre"] : 'Anonimo';
Si te aparece en el flash el nombre Anonimo es porque estas pasando las variables vía GET o el campo de texto no se llama nombre. Saludos[/code] |
||
| comentario del autor | Vie Nov 30, 2007 7:16 pm | |
|
Seguimos en contacto, gracias. |
||
| asistió a la solución | Vie Dic 21, 2007 2:52 pm | |
David Fragoso Cháidez escribió:Amigos he estado buscando la forma de pasar valores de php a Flash mediante el objeto loadVars. Este es mi código Actionscript en Flash: Hola, hace un tiempo mi sobrino vino con la misma inquitud y yo le propuse usar otra forma, Usar el loadVariablesNum investiga bien como funciona el loadVariablesNum y veras que es mucho mas practico te adjunto unos archivos que hice para ajudarte. tengo un rato de tiempo y hace calor para salir asi que tome mi flash8 y te hice algo para ver si te soluciona el problema. te puse todos los archivos necesarios. si te das una maña vas a poder cargar desde una base de datos como mysql... sin problemas, yo lo hice para un sitio de españa y anda de maravillas. ojo... esto es una ejemplo basico. Saludos Ferko (san lorenzo, santa fe, argentina) loadvariables.rar (11,92 kb) - incuye el archivo fla, el swf y dos archivos PHP para que veas como guardar desde el falsh en un archivo y como levantar los datos desde el php o lo que necesites. |
||
| comentario | Dom Dic 23, 2007 3:29 pm | |
|
Comentanos si te ha funcionado alguna alternativa. Saludos, Martín |
||
| comentario del autor | Mie Dic 26, 2007 12:45 pm | |
|
Gracias |
||
| comentario del autor | Jue Dic 27, 2007 2:28 pm | |
|
Hice nuevos archivos de prueba que funcionaron al pelo. Los adjunté... En cuanto al tu aporte ferko voy a probarlo y te paso la voz... Gracias amigos php_flash.rar (7,24 kb) - Comunicación php->flash |
||
| comentario del autor | Jue Ene 03, 2008 3:02 pm | |
|
Gracias de todos modos, me va a servir en un futuro (cuando me den privilegios de escritura jeje) |
||
| asistió a la solución | Jue May 15, 2008 3:24 am | |
|
//ARCHIVO PHP <?php echo "&contenido=".$email; ?> //ARCHIVO FLASH boton.onRelease = function(){ var enviamosInfo:LoadVars = new LoadVars(); var recibimosInfo:LoadVars = new LoadVars(); enviamosInfo.email = varEmail; enviamosInfo.sendAndLoad("sendAndload.php",recibimosInfo); recibimosInfo.onLoad = function(){ validacion = recibimosInfo['contenido']; //o asi validacion = recibimosInfo.contenido; trace(validacion); } } adjunto archivos load.rar (21,12 kb) - |
||