Foros del Web » Creando para Internet » Flash y Actionscript »

Conectar Flash a PHP, ayuda plis

Estas en el tema de Conectar Flash a PHP, ayuda plis en el foro de Flash y Actionscript en Foros del Web. Buenas. Trato de enviar un par de variables de Flash a PHP y que este me las vuelva a devolver a Flash, sólo para probar ...
  #1 (permalink)  
Antiguo 22/03/2006, 04:34
 
Fecha de Ingreso: febrero-2003
Mensajes: 39
Antigüedad: 21 años, 1 mes
Puntos: 1
Conectar Flash a PHP, ayuda plis

Buenas.
Trato de enviar un par de variables de Flash a PHP y que este me las vuelva a devolver a Flash, sólo para probar a comunicar a ambos, usando sendAndLoad. Pero no me funciona.
Funciona si el loadVars lo cargo onLoad, pero sin él no, por ejemplo, lo que trato de hacer, que al elegir la fecha de un calendario la envie a PHP.

Este es el código de Flash, que está programado para cuando Cambie el calendario:

Código:
enviarFechas = function (desde, hasta) {
	fechaLV = new LoadVars();
	fechaLV.sendAndLoad("http://localhost//fechas.php", fechaLV, "POST");
	trace(desde +","+ hasta); //<--Pilla bien los que entran en la funcion
		if (this.output == "ok") {		
			trace(this.fechas); //<--No entra bien en PHP (undefined)
		}else {
			createEmptyMovieClip("mensajedeno",9);
			mensajedeno._x=120;
			mensajedeno._y=150;
			mensajedeno.attachMovie("mensajeNo","mensajeNo1",9);
		}
}
Este es el de PHP:

Código:
<?php
	include ("includes/config.php");
	include ("includes/funciones.php");

	if($_POST['hasta']){
		$salida = "&output=ok&";
		$f_desde=$_POST['desde'];
		$f_hasta=$_POST['hasta'];
		$fechas=$f_desde . " - " . $f_hasta;
		$salida.="fechas=$fechas"."&";
		}
	echo $salida;
	exit;
?>
Las variables entran en la función, pero cuando hace el trace dice que "fechas" es undefined. Ayuda por favor .
  #2 (permalink)  
Antiguo 22/03/2006, 07:20
Avatar de atak  
Fecha de Ingreso: julio-2005
Ubicación: Huancayo
Mensajes: 490
Antigüedad: 18 años, 9 meses
Puntos: 5
De acuerdo Action Script

Hola Narachamus
trabaja de esta manera

Codigo Action Script
Código PHP:
<?php
enviarFechas 
= function (desdehasta) {
fechaLV = new LoadVars();
fechaLV.xdesde=desde// del argumento
fechaLV.xhasta=hasta// del argumento 
fechaBiene = new LoadVars();  //  llega desde el Flash
fechaLV.sendAndLoad("http://localhost/fechas.php"fechaBiene"POST");    
    if (
fechaBiene.output == "ok") {        
        
trace(fechaBiene.fechas); //<--No entra bien en PHP (undefined)
        
}else {
            
createEmptyMovieClip("mensajedeno",9);
            
mensajedeno._x=120;
            
mensajedeno._y=150;
            
mensajedeno.attachMovie("mensajeNo","mensajeNo1",9);
        }
}
?>

Archivo PHP
Código PHP:
<?php

    
include ("includes/config.php");
    include (
"includes/funciones.php");
    if(
$_POST['xhasta']){
        
$salida "&output=ok&";
        
$f_desde=$_POST['xdesde'];
        
$f_hasta=$_POST['xhasta'];
        
$fechas=$f_desde."-".$f_hasta;
        
$salida.="&fechas=".$fechas."&";
        }
?>

Espero q te ayude
Salu2
__________________
. .: El mejor Inicio :. .
  #3 (permalink)  
Antiguo 22/03/2006, 19:19
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Buenas. Si hacés sendAndLoad, siempre tenés que usar el evento onLoad, si necesitás recoger la respuesta del server. Lo que hace LoadVars (igual que la clase XML) es una conexión asincrónica entre el swf y el server.

O sea: mandás datos y recibís datos como respuesta. Pero la carga no es inmediata. Tarda (aunque sean décimas de segundo, pero tarda). El evento onLoad sirve justamente para verificar que la respuesta haya llegado.

Cita:
Código:
fechaLV.sendAndLoad("http://localhost//fechas.php", fechaLV, "POST");
	trace(desde +","+ hasta); //<--Pilla bien los que entran en la funcion
		if (this.output == "ok") {
Acá hay dos errores. El primero es de "ruteo". En este caso, "this" es una referencia a la línea de tiempo en la que esté ubicada esta función. No al objeto LoadVars. O sea que no estás buscando la variable "output" en fechaLV, sino en la línea de tiempo que lo contiene.

El otro tema es que no estás usando el evento onLoad. Por eso, aunque no hubiera error de ruteo, estarías buscando el valor de una variable que va a estar indefinida-undefined cuando la pidas. Si usaras onLoad, estarías esperando la respuesta del server y recién ahí te fijarías si esa variable vale "ok", en este caso. Esto pasa porque el código (siempre) se ejecuta mucho más rápido que la respuesta del servidor.

Suerte
Califa
  #4 (permalink)  
Antiguo 23/03/2006, 03:46
Avatar de Christatos  
Fecha de Ingreso: julio-2003
Ubicación: Badajoz, Extremadura, España
Mensajes: 194
Antigüedad: 20 años, 9 meses
Puntos: 0
Echad un vistazo a AMFPHP, verés qué cosas tan chulas se pueden hacer.

Un saludo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:31.