El codigo que tenia era este:
Código:
import flash.net.URLVariables;
import flash.net.URLLoader;
import flash.net.URLRequest;
var misVariables:URLVariables = new URLVariables();
var cargador:URLLoader = new URLLoader();
var pedido:URLRequest = new URLRequest();
pedido.url = "http://www.mipagina.com/enviarMail.php";
pedido.method = URLRequestMethod.POST;
pedido.data = misVariables;
cargador.dataFormat = URLLoaderDataFormat.VARIABLES;
enviar_btn.addEventListener(MouseEvent.CLICK, enviar);
cargador.addEventListener(Event.COMPLETE, cargaCompleta);
function enviar(event:MouseEvent)
{
if (mail_txt.text.indexOf("@") == -1 || mail_txt.text.indexOf(".") == -1)
{
status_txt.text = "Por favor, introduce un mail correcto";
}
else
{
enviarFormulario();
}
}
function enviarFormulario()
{
misVariables.nombre = nombre_txt.text;
misVariables.mail = mail_txt.text;
misVariables.mensaje = mensaje_txt.text;
}
try
{
cargador.load(pedido);
}
catch (error:Error)
{
trace ("Error al enviar" +error);
}
function cargaCompleta(event:Event):void
{
nombre_txt.text = "";
mail_txt.text = "";
mensaje_txt.text = "";
gotoAndStop(10);
}
stop();
en el frame 1 y en el 10 tenia esto:
Código:
status_txt.text = cargador.data.estado;
Para el php que te he puesto al principio.
Ahora he encontrado un codigo que no me devuelve ningun error, que es el siguiente pero no se si el php lo tengo que poner tal y como lo tenia.
Código:
stop();
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
// ----------------------------------------------------------------
var variables:URLVariables = new URLVariables();
// Be sure to change this URL to the PHP parse file on your site server
var varSend:URLRequest = new URLRequest("http://www.mipagina.com/enviarMail.php");
var varLoader:URLLoader = new URLLoader;
varSend.method = URLRequestMethod.POST;
varSend.data = variables;
status_txt.text = "";
enviar_btn.addEventListener(MouseEvent.CLICK, ValidateAndSend);
function ValidateAndSend(event:MouseEvent):void{
//validate form fields
if(!nombre_txt.length) {
status_txt.text = "Por favor, escribe tu nombre.";
} else if(!mail_txt.length) {
status_txt.text = "Por favor, escribe una dirección de correo electrónico";
} else if(!validateEmail(mail_txt.text)) {
status_txt.text = "Por favor, escribe una dirección de correo válida";
} else if(!mensaje_txt.length) {
status_txt.text = "Por favor, escribe un mensaje.";
} else {
status_txt.text = "Gracias " + nombre_txt.text + ", tu mensaje ha sido enviado!";
variables.nombre = nombre_txt.text;
variables.mail = mail_txt.text;
variables.mensaje = mensaje_txt.text;
varLoader.load(varSend);
gotoAndStop(2);
}
}
function validateEmail(str:String):Boolean {
var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
Con este codigo no tendria sentido esto:
Código PHP:
if(mail("[email protected]", "Formulario desde web", $mensaje, $cabecera)){
echo "estado = Su mensaje ha sido enviado";
}
else{
echo"estado = Su mensaje no ha podido ser enviado";
}
?>
No? Pero el mail tengo que ponerselo de todas formas, no se si el php que tengo me vale para este ultimo codigo.
Muchas gracias