Cita:
Iniciado por intiweb hola, yo tengo mi pagina echa en flash y en el contacto tengo tres campos de texto donde la gente introduce las consultas, que se llaman:
nombre, mail, y coment.
Y con un boton y sctionscript las envio con el metodo POST a php para poder enviar por un email la consulta.
pero tengo problemas porque el codigo no me envia las consulta.
la verdad que de actionscript no entiendo mucho, soy mas de programar con PHP y javascript.
pero mirando el codigo no me paresiara que tuviera nada mal.
les dejo el codigo a ver si alguien sabe cual es mi error. o capas me dicen otro codigo que sea mas eficiente:
Código actionscript:
Ver originalon (release) {
if (mail.length && nombre.length && comen.length) {
if (mail.text.indexOf("@") != -1 && mail.text.indexOf(".") != -1) {
form_lv = new LoadVars();
form_lv.nombre = nombre.text;
form_lv.mail = mail.text;
form_lv.mensaje = comen.text;
form_lv.sendAndLoad("http://www.comar-k.com/send.php", form_lv, "POST");
comen.text = "Enviando Mensaje...";
nombre.text = "";
mail.text = "";
form_lv.onLoad = function() {
if (this.estatus == "ok") {
comen.text = "Su mensaje fue enviado con exito";
nombre.text = "";
mail.text = "";
} else {
comen.text = "No se pudo enviar su mensage";
}
};
} else {
mail.text = "Correo Invalido";
}
} else {
mail.text = "Dato Necesario";
nombre.text = "Dato Necesario";
comen.text = "Dato Necesario";
}
}
bueno un saludo y espero que alguien sepa cual es mi problema.
les cuento que cuando lo pruebo me manda el comentario No se pudo enviar su mensage.
hola , te lo voy a explicar en un breve tutorial aqui vamos :
Este tutorial nos ayudará a realizar un formulario a través de flash que se enviará por correo utilizando el soporte de PHP y la función de mail del servidor.
Para
este formulario, necesitaremos un servidor con soporte PHP y la función
mail activada. ¿Como sabemos si tenenos dicha función?, simple.
Crea un nuevo archivo PHP ("send.php") y pones el siguiente código.
Código:
<?php
mail("
[email protected]", "Probando Ando =)", "Hola Hola!!");
?>
Súbelo a tu servidor y pruébalo
www.tuServidor.com/send.php,
Si todo esta bien te saldrá una pagina en Blanco en el navegador y
a tu casilla llegara dicho correo.
Bien,
Una vez comprobado esto seguimos.
Primero trabajaremos el Fla:
Creamos
una nueva película, sobre el escenario creamos 4 campos de texto de
entrada InputText y les damos nombre de instancia, y creamos 2 botones "enviar_btn" y "borrar_btn"
Crearemos
2 funciones una para enviar las variables a PHP y otra función para
borrar los datos del formulario.
Función enviar:
Código:
enviar = function () {
if (email_txt.text.length && nombre_txt.length && titulo_txt.length && mensaje_txt.length) {
if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {
form_lv = new LoadVars();
form_lv.nombre = nombre_txt.text;
form_lv.mail = email_txt.text;
form_lv.mensaje = mensaje_txt.text;
form_lv.titulo = titulo_txt.text;
form_lv.sendAndLoad("http://www.tmeister.net/send.php", form_lv, "POST");
mensaje_txt.text = "Enviando Mensaje..";
nombre_txt.text = "";
email_txt.text = "";
titulo_txt.text = "";
form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje_txt.text = "Tu mensaje fue enviado...";
nombre_txt.text = "";
email_txt.text = "";
titulo_txt.text = "";
} else {
mensaje_txt.text = "Problemas con el servidornIntentalo de Nuevo";
}
};
} else {
email_txt.text = "Correo Invalido";
}
} else {
email_txt.text = "Dato Necesario";
nombre_txt.text = "Dato Necesario";
titulo_txt.text = "Dato Necesario";
mensaje_txt.text = "Dato Necesario";
}
};
Código:
if (email_txt.text.length && nombre_txt.length && titulo_txt.length && mensaje_txt.length)
Con esto comprobamos que al presionar el boton todos los campos de texto no
estén vacíos, si esta condición no se cumple en los campos
aparecerá el texto "Dato Necesario";
Código:
if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {
Esta comprobación revisa que el mail introducido tenga la @ y
un punto .;
Si ambas condiciones son ciertas creamos una instancia de la clase LoadVars
y asignamos variables para enviar a PHP
Código:
form_lv_lv = new LoadVars();
form_lv.nombre = nombre_txt.text;
form_lv.mail = email_txt.text;
form_lv.mensaje = mensaje_txt.text;
form_lv.titulo = titulo_txt.text;
form_lv.sendAndLoad("send.php", form_lv, "POST");
mensaje_txt.text = "Enviando Mensaje..";
}
Una vez ejecutado el Script PHP y si todo salio bien, este, regresara una variable
llamada status que tomaremos con el evento onLoad
Código:
form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje_txt.text = "Tu mensaje fue enviado. nGracias.... =)";
nombre_txt.text = " ";
email_txt.text = " ";
titulo_txt.text = " ";
} else {
mensaje_txt.text = "Problemas con el servidornIntentalo de Nuevo";
}
};
Función borrar:
Con esta función solo borraremos los datos que tengan los campos de texto.
Código:
borrar = function () {
nombre_txt.text = " ";
email_txt.text = " ";
mensaje_txt.text = " ";
titulo_txt.text = " ";
};
Esto no necesita mucha explicación =P
Por ultimo asignamos dichas funciones a los eventos de los botones
Código:
enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;
Y esto es todo en Flash.. Seguimos con el PHP..
Código:
<?php
if(isset($_POST["nombre"]) && isset($_POST["titulo"]) isset($_POST["email"])
isset($_POST["mensaje"]) ){
$fecha = date("d-M-y H:i");
$mymail = "
[email protected]";
$subject = "Desde el Sitio.. =)";
$contenido = $nombre." Escribio :\n";
$contenido .= $mensaje."\n\n";
$contenido .= "el mensaje se escribio el ".$fecha;
$header = "From:".$mail."\nReply-To:".$mail."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
mail($mymail, $subject, utf8_decode($contenido) ,$header);
echo "&estatus=ok&";
}
?>
La función isset verifica que una variable exista, en este caso verificamos
que las cuatro variables existan antes de enviar el mail.
Los parámetros de la función mail de PHP son:
•Para: Correo destino. En este caso $mymail
•Titulo: Titulo del Correo. En este caso $subject
•Mensaje: Cuerpo del correo. En este caso $contenido
•Headers o cabeceras: Son las cabeceras del correo, donde se especifica
el tipo de contenido (texto plano, texto HTML), entre muchas otras opciones
que no mencionare.
Una vez enviado el mail el PHP regresa la variable status que Flash interpretara…
Si dicha variable existe es que todo funcióno… =)
NOTA: Para enviar un correo en formato HTML solo necesitas
escribir el cuerpo del mensaje con dicho formato (HTML) y en los headers especificarlo,
esto se hace cambiando Content-Type: text/plain por Content-Type:
text/html