Envio del e-mails con Actionscript 3.0 y PHP |
Etiquetas: URLRequest URLLoader URLVariables |
-
- $email = $_POST['email'];
- $asunto = $_POST['asunto'];
- $cuerpo = $_POST['cuerpo'];
- echo "resultado=Mensaje enviado";
-
//Importo las clases necesarias import flash.display.Sprite; import flash.net.URLRequest; import flash.net.URLVariables; import flash.net.sendToURL; //Almaceno la url que vamos a cargar para enviar el email var url:String = "Aqui iría la url del php"; function Enviar(e:MouseEvent){ if(DatosCorrectos()){ //Creo las variables para enviar y recibir la informacion var enviar:URLRequest = new URLRequest(url); var recibir:URLLoader = new URLLoader(); //Creo la variable que va a ir dentro de enviar, con los campos que tiene que recibir el PHP. var variables:URLVariables = new URLVariables(); variables.email = Email_txt.text; variables.asunto = Asunto_txt.text; variables.cuerpo = Cuerpo_txt.text; //Indico el método por el que se va a enviar la información. enviar.method = URLRequestMethod.POST; //Indico que voy a enviar variables dentro de la petición enviar.data = variables; //Indico el formato de la información que se va a recibir como respuesta recibir.dataFormat = URLLoaderDataFormat.VARIABLES; //Añado listeners a recibir, para un posible error y una respuesta. recibir.addEventListener(Event.COMPLETE,Respuesta); recibir.addEventListener(IOErrorEvent.IO_ERROR,HayError); //Hago la petición al PHP recibir.load(enviar); Estado_txt.text = "Enviando..."; } } function DatosCorrectos():Boolean{ //Comprueba que ninguno de los campos esté vacío if((Email_txt.text == "") || (Asunto_txt.text == "") || (Cuerpo_txt.text == "")){ Estado_txt.text = "Debes rellenar todos los campos"; return false; } //Compruebo que el mail tenga una arroba y al menos un punto. var email = Email_txt.text; var arroba = email.split("@"); var puntos = email.split("."); if((arroba.length != 2) || (puntos.length < 2)){ Estado_txt.text = "El email no tiene el formato correcto"; return false; } return true; } //Funcion que se ejecuta al recibir una respuesta del PHP, recibiendo la variable resultado. function Respuesta(event:Event){ Estado_txt.text = event.target.data.resultado; } //Función que se ejectuta cuando no se puede cargar el PHP function HayError(event:IOErrorEvent):void { Estado_txt.text = "Error al enviar el correo"; } //Programo el botón de enviar. Enviar_bt.addEventListener(MouseEvent.CLICK,Enviar); stop();

tengo 2 preguntas. -var url:String = "Aqui iría la url del php"; en este paso es la direccion del servidor o nada mas el nombre de php. -este ejemplo podria servir en el servidor apache de suse linux 10. |
La url que tienes que poner es la ruta hasta el archivo php. Puede ser relativa o absoluta. El ejemplo funcionará en cualquier servidor con PHP instalado. De todas formas la parte importante es la de Flash, que "no tiene que ver" con el servidor. Hacer esto mismo en ASP u otro lenguaje de servidor no es complicado. |
Hola Felix, seguramente es porque no se está haciendo bien el echo en el php (no devuelve la variable bien). Qué estás poniendo en el echo de resultado??? |
|
|