El caso es que las partes por si mismas funcioanan, pero todo junto no me funciona. Segun lo dejo aqui, me funciona la comprobacion de campos, pero luego no envia el mensaje
¿Alguien lo puede revisar, por favor? Seria ademas un buen aporte para siguientes personas que busquen esta informacion, como yo la estaba buscando.
Me ha quedado de la siguiente manera:
En el flash, los input text se llaman txtmail, txtnombre.... el boton enviar se llama btenviar y es un boton, no un movieclip.
Código:
en el phpbtenviar.addEventListener(MouseEvent.MOUSE_DOWN, comprobarMensaje); btenviar.buttonMode = true; btenviar.useHandCursor = true; function comprobarMensaje(obj:Event):void{ if(txtnombre.text == "" || txttelefono.text == "" || txtemail.text == "" || txtmensaje.text == ""){ txtestado.text = "Todos los campos son requeridos."; } else { onEnviar(); } } function onEnviar(obj:Event) { var urlVars:URLVariables = new URLVariables(); urlVars.nombre = txtnombre.text; urlVars.telefono = txttelefono.text; urlVars.email = txtemail.text; urlVars.mensaje = txtmensaje.text; var urlRequ:URLRequest = new URLRequest("http://www.DOMINIO.COM/send_contacto.php"); urlRequ.method = URLRequestMethod.POST; urlRequ.data = urlVars; var urlLoad:URLLoader = new URLLoader(); urlLoad.load(urlRequ); urlLoad.addEventListener(Event.COMPLETE, onSendComplete); urlLoad.addEventListener(IOErrorEvent.IO_ERROR, onSendError); } function onSendComplete(obj:Event) { txtestado.text = "Mensaje enviado correctamente"; onBorrar(); } function onSendError(obj:Event) { txtestado.text = "Mensaje no enviado por motivos técnicos.<br>Por favor, contacte por teléfono o email."; onBorrar(); } function onBorrar(obj:Event) { txtnombre.text = ""; txttelefono.text = ""; txtemail.text = ""; txtmensaje.text = ""; }
Código PHP:
<?php
if ($_POST['email'] != "") {
$dest = $_POST['email'];
$head = "From: ".$_POST['email']."\r\n";
$head.= "To: EMAIL PARA ENVIO.com\r\n";
// Ahora creamos el cuerpo del mensaje
$msg.= "NOMBRE: ".$_POST['nombre']."\n";
$msg.= "TELEFONO: ".$_POST['telefono']."\n";
$msg.= "EMAIL: ".$_POST['email']."\n\n";
$msg.= "------------------------------- \n";
$msg.= $_POST['mensaje']."\n";
$msg.= "------------------------------- \n\n";
$msg.= "HORA: ".date("h:i:s a ")."\n";
$msg.= "FECHA: ".date("D, d M Y")."\n";
// Finalmente enviamos el mensaje
if (mail($dest, "TEXTO ASUNTO", $msg, $head)) {
echo "rpta=ok";
} else {
echo "rpta=error";
}
}
?>
Muchas gracias de antemano, y ya que estoy.... si esto funcionase, para que fuese redondo le faltaria comprobar elo mail, la arroba y el punto. ¿Como se puede hacer en AS3?
Gracias de nuevo, Rakeljuice