Comunidad de diseño web y desarrollo en internet online

problema al escribir en xml desde flash

Citar            
MensajeEscrito el 19 Nov 2004 12:43 pm
hola tengo el siguiente ejercicio. se trata un pequeño formulario con 8 campos imput text y un boton de actualizar. cuando pulso actualizar quiero generar un xml con los datos incluidos en el formulario de flash.
el codigo es el siguiente en flash:

Código :

var envio:LoadVars = new LoadVars();


function enviar_menu() 
{
    envio.primero_a = primero_a.text;
        envio.primero_b = primero_b.text;
        envio.primero_c = primero_c.text;
    envio.primero_d = primero_d.text;
        envio.segundo_a = segundo_a.text;
        envio.segundo_b = segundo_b.text;
    envio.segundo_c = segundo_c.text;
        envio.segundo_d = segundo_d.text;
    envio.sendAndLoad("crea_xml.php", envio, "POST");
    play();      
}

boton_mc.onPress = enviar_menu;
stop();


y en el archivo php:

Código :

<?
   $salida = "<menu> \n";
   $salida .= "<plato> \n";
   $salida .="<nombre>" $primero_a ."</nombre> \n";
   $salida .="<nombre>" $primero_b ."</nombre> \n";
   $salida .="<nombre>" $primero_c ."</nombre> \n";
   $salida .="<nombre>" $primero_d ."</nombre> \n";
   $salida .="</plato> \n";
   $salida .= "<plato> \n";
   $salida .="<nombre>" $segundo_a ."</nombre> \n";
   $salida .="<nombre>" $segundo_b ."</nombre> \n";
   $salida .="<nombre>" $segundo_c ."</nombre> \n";
   $salida .="<nombre>" $segundo_d ."</nombre> \n";
   $salida .="</plato> \n";
   $salida .="</menu>";
   
   $nombreFichero  = "menu.xml";
   $fp = fopen($nombreFichero, "w");
   fwrite($fp, $salida);
   fclose($fp);
?>   


Esto deberia de funcionar, que es lo que esta mal. Ademas me gustaria saber con que sintaxis tengo que decirle que acepte ñÑ y demas en el php, gracias por el interes

Ochio.

Por ochio

23 de clabLevel



 

unknown
Citar            
MensajeEscrito el 20 Nov 2004 03:12 am
Primero, en PHP, recibe las variables asi

Código :

$_POST["variable"]

Como lo estas haciendo es la manera incorrecta

Segundo, tienes varios errores de sintaxis en el PHP, una buena practica siempre es abrir el PHP con un navegador antes de empezar con Flash, para verificar que todo funcione correctamente, mira por ejemplo aqui

Código :

$salida .="<nombre>" $primero_c ."</nombre> \n"; 

Veras que falta un signo "punto" de concatenación, este;
$salida .="<nombre>" . $primero_c ."</nombre> \n";

Y asi en muchas otras lineas

El codigo en Flash si parece estar bien

Espero que esto te ayude, saludos

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 22 Nov 2004 09:16 am
Ok, lo he solucionado de 2 maneras, como tu me dices, corrigiendo el php y utilizando
envio.sendAndLoad("crea_xml.php", "_self", "POST");
pero tengo una duda:
Si utilizo sendAndLoad, en teoria debería de tener una respuesta en el swf actualizandose los campos input y apareciendo los valores que tenia antes de pulsar actualizar, pero no lo hace, pero no lo hace, enseñandome de nuevo los valores por defecto ("introduce un plato");

Si utilizo send, tengo que hacer en el php un header (Location....) a otro swf que lea el xml y me enseñe los datos para comprobar que estan corregidos.

Gracias freddie, tus tutoriales son geniales para mi. un saludo.

Por ochio

23 de clabLevel



 

unknown
Citar            
MensajeEscrito el 22 Nov 2004 09:17 am
he cometido un error al picar, la segunda manera que uso es
envio.send("crear_xml.php", "_self", "POST");

perdon y gracias

Por ochio

23 de clabLevel



 

unknown
Citar            
MensajeEscrito el 22 Nov 2004 02:25 pm
deberías primero checar bien la referencia

Usage
my_lv.sendAndLoad(url, targetObject[, method])

Parameters
url The URL to upload variables to. If the SWF file issuing this call is running in a web browser, url must be in the same domain as the SWF file; for details, see "Description," below.

targetObject The LoadVars object that receives the downloaded variables.

method The GET or POST method of the HTTP protocol.


"_self" no es un objeto loadvars, por lo tanto las variables no van a ser descargadas correctamente

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

unknown

 

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