Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Flash y Actionscript (http://www.forosdelweb.com/f16/)
-   -   Enviar y Obtener datos PHP (http://www.forosdelweb.com/f16/enviar-obtener-datos-php-497458/)

Rizzo 12/06/2007 18:18

Enviar y Obtener datos PHP
 
ando buscando ejemplos de como trabajar con AS3 y PHP y encontre un tutorial y dan este ejemplo de enviar y cargar los valores de variables de AS3 a php y php a AS3.
en flex:


Código:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  <mx:Script>
      <![CDATA[
        import flash.net.*
        import flash.events.*
        private function enviar():void {
            var req:URLRequest=new URLRequest("http://www.suun.com.mx/correo/enviar.php");
            req.method=URLRequestMethod.POST;
            var vars:URLVariables=new URLVariables;
            vars.nombre=escape(nombre_txt.text);
            vars.apellidos=escape(apellidos_txt.text);
            vars.email=escape(email_txt.text);
            req.data=vars;
            var ldr:URLLoader=new URLLoader();
            ldr.load(req);
            ldr.addEventListener(Event.COMPLETE,onVarsLoaded);
        }
        private function onVarsLoaded(event:Event):void{
            var retVars:URLVariables = new URLVariables(event.target.data);
            nombre_lbl.text=unescape(retVars.nombre);
            apellidos_lbl.text=unescape(retVars.apellidos);
            email_lbl.text=unescape(retVars.email);
        }
      ]]>
  </mx:Script>
  <mx:Button x="10" y="128" label="Enviar" click="{enviar()}"/>
  <mx:Form x="10" y="10">
      <mx:FormItem label="Nombre">
        <mx:TextInput id="nombre_txt"/>
      </mx:FormItem>
      <mx:FormItem label="Apellidos">
        <mx:TextInput id="apellidos_txt"/>
      </mx:FormItem>
      <mx:FormItem label="Email">
        <mx:TextInput id="email_txt"/>
      </mx:FormItem>
  </mx:Form>
  <mx:Form x="10" y="158">
      <mx:FormItem label="Nombre">
        <mx:Label id="nombre_lbl"/>
      </mx:FormItem>
      <mx:FormItem label="Apellidos">
        <mx:Label id="apellidos_lbl"/>
      </mx:FormItem>
      <mx:FormItem label="Email">
        <mx:Label id="email_lbl"/>
      </mx:FormItem>
  </mx:Form>
</mx:Application>

en el archivo php que lo deje tal cual por si alguien lo quiere probar en el servidor (http://www.suun.com.mx/correo/enviar.php) esta esto:

Código PHP:

<?php
   
foreach ($_POST as $k=>$a){
   echo 
'&'.$k.'='.$a.'queVieneDelServidor';
   }
?>

entonces me genera este error :

Código:

Error: Error #2101: La cadena transmitida a URLVariables.decode() debe ser una cadena de consulta con formato URL codificado y pares nombre/valor.
        at Error$/throwError()
        at flash.net::URLVariables/decode()
        at flash.net::URLVariables$iinit()
        at correo/::onVarsLoaded()
        at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at flash.net::URLLoader/flash.net:URLLoader::onComplete()


alguien me puede explicar a que se refiere o como solucionarlo? ya que al pasar el codigo AS3 a flash para probarlo al igual que flex me sigue dando el mismo error. gracias.

jahepi 25/06/2007 12:48

Re: Enviar y Obtener datos PHP
 
Hola Rizzo!

Ponle un breakpoint a tu método listener "onVarsLoaded" y analiza en modo de depuración el objeto event que te está devolviendo para ver si el servidor te esta mandando los datos corréctamente.

Un saludo! :adios:


La zona horaria es GMT -6. Ahora son las 07:53.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.