Foros del Web » Creando para Internet » Flash y Actionscript »

mails desde flash y php

Estas en el tema de mails desde flash y php en el foro de Flash y Actionscript en Foros del Web. Hola, he buscado en tutriales y he estado probando sin éxito! tengo en flash un formulario y en el primer frame: Código: enviar=new LoadVars(); rebre=new ...
  #1 (permalink)  
Antiguo 25/02/2005, 01:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta mails desde flash y php

Hola, he buscado en tutriales y he estado probando sin éxito!

tengo en flash un formulario y en el primer frame:

Código:
enviar=new LoadVars(); 
rebre=new LoadVars(); 
function enviarMail(){ 
   enviar.nom=nom.text; 
   enviar.assumpte=assumpte.text; 
   enviar.email=email.text; 
   enviar.cosMail=cosMail.text; 
   enviar.sendAndLoad("email.php", rebre, "POST"); 
} 
rebre.onLoad=function(exit){ 
   if(exit){ 
      missatge.text=this.getBytesLoaded; 
      //missatge.text=this.missatge; 
   }else { 
      missatge.text="error en l'aplicació de correu"; 
   } 
}
El email.php es:

Código:
<html> 
<head> 
<title>Documento sin t&iacute;tulo</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<? 
   $sendTo = "[email protected]"; 
   $subject = $_POST["assumpte"]; 
   $headers = "From: " .$_POST["nom"]; 
   $headers .= "<" . $_POST["email"] . ">\r\n"; 
   //$headers .= "Reply-To: " . $_POST["email"]; 
   $message = $_POST["cosMail"]; 
   mail($sendTo, $subject, $message, $headers); 
   echo "missatge=Mensaje enviado :D"; 
?> 
<body> 
</body> 
</html>
No sé que estoy haciendo mal, pero no me sale ningún mensaje recibido des de servidor i menos me se envia el mail!!!
Por favor ayudenme, o si saben de una forma mejor .... No sé dónde tengo el error!

Muchas gracias.
  #2 (permalink)  
Antiguo 25/02/2005, 11:04
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 12 años, 9 meses
Puntos: 0
me parece que tu problema es que no ejecutas la funcion enviarMail() en ningun momento (o por lo menos no lo haz puesto). Si es eso crea un boton y pon este script
Código:
on (release) {
             missatge.text = "Cargando...";
	enviarMail();
}
Otra cosa ¿Porque comentas esta linea? es aqui en donde flash recibe la respuesta del servidor
//missatge.text=this.missatge;
aqui podrias hacer esto:
Código:
//Hace que el campo de texto reciba codigo HTML
missatge.html = true;
//Le asigna el mensaje recibido del servidor, con formato HTML
missatge.htmlText = this.missatge;
Otra teoria es que tu host tenga deshabilitada la funcion mail(), chequea eso. El script que tu tienes es exactamente igual al que tengo yo y a mi me funciona. Espero que te sirva, no dudes en preguntar
Exitos
  #3 (permalink)  
Antiguo 28/02/2005, 13:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Hola, primero, gracias por responder!

El evento on(release) sí lo tengo puesta y de la misma manera que tu me dices.
El hecho es que entrar en la función enviarMail, entra pero ahora siempre me aparece por pantalla el mensaje de error que tengo en flash. Ni siquiera me da el mensaje de error del php.

No tengo ni idea de que puede estar mal!!!!

Lo que me dices del host? Como puedo saberlo? Yo tengo contratado el dominio y el espacio a una empresa, les debo preguntar a ellos???

Muchas gracias por ayudarme, la verdad me esta costando un monton connectar estos dos archivos!!!!
  #4 (permalink)  
Antiguo 06/03/2005, 07:31
 
Fecha de Ingreso: marzo-2005
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Hola necesito un poco bastante de ayuda con esto del mail con flash y php, tengo los scripts, pero como no soy un usuario muy experto en flash pues me estoy comiendo los mocos, la cosa esta en que tengo puestos los scripts a el frame1 y al boton, pero mirando el codigo tengo un par de dudas:
1.- las etiquetas cuerpo_txt, y todos estos son etiquetas que se les asignan a los campos de texto no?.
2.- Lo que nose es como unir todo con el archivo que tiene el codigo en php, nose si esque hay que llamarlo email.php y ponerlo en el mismo directorio del flash, incrustar el flash en un php o el que.

Ya se que es mucho pedir pero con esto me estoy jugando un puesto en mi empresa :S, necesito que me ayudeis a solucionarlo, o que me paseis algun archivo con el codigo hecho para poder presentarlo, no necesito ningun frontend bonito ni nada, solo un campo de texto y el boton de email. Ya se que puede parecer tonto, pero esque mi compañero q hace los flash, decidio irse a la competencia porque cobraba mas y claro ahora el marron me lo como yo y no tengo mucha idea de flash.
Enga saludos y plis hecharme una mano.
Mi email es [email protected]
  #5 (permalink)  
Antiguo 06/03/2005, 22:45
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 13 años, 4 meses
Puntos: 2
Hola, hola! revisastes los FAQs, ahi hay un ejemplo .FLA de un formulario FLASH-PHP!

Saludos!
  #6 (permalink)  
Antiguo 07/03/2005, 06:16
 
Fecha de Ingreso: marzo-2005
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Hola sigo sin saber como enlazarlos, por mas que lo intento no me funciona, he probado con el que hay en los faqs, pero esque no me manda los correos y nose donde cometo el fallo, si alguien me puede hechar una mano se lo agradeceria muchiiiisimo porque estoy sin parar de probar cosas. Saludos a todos
  #7 (permalink)  
Antiguo 07/03/2005, 07:03
Avatar de Niconirva  
Fecha de Ingreso: marzo-2005
Mensajes: 119
Antigüedad: 12 años, 9 meses
Puntos: 0
Aquí mi contribución...

Hola gente, veo que hay gente con problemas de fusionar flash y php.., como yo ya tengo hecho este caso (y varios más) vine a dar una mano... revise los codigos expuestos, y así a ojo, parecen estar bien. Igualmente les dejo los códigos que yo uso.., por ahí les vienen mejor.
Antes que nada, cheeba VERIFICA que tu servidor de php tenga la función mail activada. (generalmente, por seguridad la desactivan, es el caso de muchos hosting gratuitos).
En el primer fotograma tengo este codigo ActionScript:

Código:
enviar = function () { 
if (mail.text.length && nombre.length && asunto.length && mensaje.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.asunto = asunto.text;
form_lv.mensaje = mensaje.text;
form_lv.sendAndLoad("enviomail.php", form_lv, "POST");
aviso.text = "Enviando Mensaje..";
form_lv.onLoad = function() {if (this.estatus == "ok") 
{gotoAndStop(2);
nombre.text = "";
mail.text = "";
asunto.text = "";
mensaje.text = "";
} 
else {aviso.text = "Problemas con el servidor. Intentalo de Nuevo";}};} 
else {mail.text = "Correo Invalido";}} 
else {mail.text = "Dato Necesario";
nombre.text = "Dato Necesario";
asunto.text = "Dato Necesario";
mensaje.text = "Dato Necesario";}};
enviar_btn.onRelease = enviar;
Ahí se envian las variables en metodo POST al archivo php. Son las cuatro variables (nombre, asunto, mail y mensaje). Los campos de inserción de textos, llevan, respectivamente los nombres de instancias: nombre, asunto, mail y mensaje (se puede ver claramente en el ActionScript), el botón que ejecuta la acción lleva como nombre de instancia "enviar_btn". Tambien esta todo concatenado con unos if que verifican que el usuario alla llenado todos lo campos, tambien un if verifica que la variable email tenga la estructura correcta. Aquí va el php que termina el trabajo:

Código:
<?php
if(isset($_POST["nombre"]) && isset($_POST["asunto"]) && isset($_POST["mail"]) && isset($_POST["mensaje"]) ){
    $fecha = date("D-M-y H:i");
	$mymail = "[email protected]";
	$subject = "Mensaje desde tu web";
	$contenido = $_POST["nombre"]." Escribio :\n";
	$contenido .= $_POST["mensaje"]."\n\n";
	$contenido .= "el mensaje se escribio el ".$fecha;
	$header = "From:".$_POST["mail"]."\nReply-To:".$_POST["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&";
}
?>
Deben editar el valor de la variable $mymail y obviamente, darle el valor de su mail o el mail a donde quieren que lleguen los datos del form.
Les comento que el flash se queda esperando un respuesta del php.., si todo salio bien, el php devuelve al flash estatus=ok, cuando el flash lee esto se va al fotograma dos (gotoAndStop(2) o ejecutar algun movieclip que allan hecho) y aquí pueden poner un mensaje que diga que el mail fué enviado con exito.
Si flash no recibe el estatus=ok, entonces en un cuadro de texto dinámico aparece que hay problemas con el servidor y que se intente de nuevo.
Espero a ver sido claro, cualquier consulta me preguntan.

Si pudiera (creo que no tengo los permisos) subiria para descargar el .fla así ya lo prueban del mío. Pero no puedo o nose, porque la verdad que soy nuevito en este foro (y todavía no eh encontrado la opción).., alguien sabe como subir un adjunto a este foro? (asi ya se bajan este ejemplo!!!!).
Exitos!!!
__________________
"Quien no peca contra la ciencia no descubre nada"
Albert Einstein

Última edición por Niconirva; 07/03/2005 a las 07:09
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:16.