Comunidad de diseño web y desarrollo en internet online

Maldito e-mail

Citar            
MensajeEscrito el 24 May 2007 03:10 pm
Hola, como estan?

Tengo que preguntarles algo.
Hice un formulario de envio de mails con el tutorial que esta aqui.
Siempre me funciono super bien, nunca tube problemas.
el tema es que estaba en una pagina muy muy muy grande.
Entonces la parti en varias partes (inicio, intro y sitio).
Cada una de estas peliculas se carga encima de la otra ( no creo que sea el mejor metodo, pero es el que me sale). Has aqui todo fantastico...hasta que los botones dejaron de funcionar.
Gracias a este foro y a la buena onda de todos termine entendiendo que el problema eran las rutas....me costo mucho, pero lo solucione tambien.
Ahora el problema esta en este maldito formulario de contacto, el cual me enia el email... pero vacio!!!
Aqui les paso el codigo, ya probe de todo!!!!

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.email = email_txt.text;
         form_lv.mensaje = mensaje_txt.text;
         form_lv.titulo = titulo_txt.text;
         form_lv.sendAndLoad("send.php", form_lv, "POST");
         enviando_txt.text = "Enviando Mensaje...";
         form_lv.onLoad = function() {
            if (estatus == "ok") {
               enviando_txt.text = "Su mensaje fue enviado...";
               nombre_txt.text = "";
               email_txt.text = "";
               titulo_txt.text = "";
               mensaje_txt.text = "";
            } else {
               enviando_txt.text = "Problemas con el servidor. Intentelo de nuevo.";
            }
         };
      } else {
         email_txt.text = "Correo Invalido";
      }
   } else {
      if (email_txt.text == "") {
         email_txt.text = "Dato Necesario";
      }
      if (nombre_txt.text == "") {
         nombre_txt.text = "Dato Necesario";
      }
      if (titulo_txt.text == "") {
         titulo_txt.text = "Dato Necesario";
      }
      if (mensaje_txt.text == "") {
         mensaje_txt.text = "Dato Necesario";
      }
   }
};
borrar = function () {
   nombre_txt.text = " ";
   email_txt.text = " ";
   mensaje_txt.text = " ";
   titulo_txt.text = " ";
};
this.textocontacto.amarillo3boton.amarillo3botonenviar.onRelease = enviar;
this.textocontacto.amarillo4boton.amarillo4botonborrar.onRelease = borrar;

Gracias!!!


Cada dia aprendiendo más

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 May 2007 03:14 pm
Yo no veo ningun error en tu codigo, postea el codigo de PHP, posiblemente este ahí el error.

Tambien asegurate que el campo donde capturas el email tenga el nombre de instancia "email_txt"

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 25 May 2007 07:53 pm
intenta asi y en el php no pongas el correo de hotmail por que no sirve, neojr coloca un correo de gmail.

y checa con un trace si tus botones funcionan.

Código :


//funcion que enviara los datos 
_global.enviar = function() {
   //comprobacion para escribir bien el correo
   if (email_txt.text.length && nombre_txt.length && titulo_txt.length && mensaje_txt.length) {
      //comprobacion para escribir bien el correo
      if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {
         //creacion del objeto LoadVars que enviara los datos de AS a php
         var form_lv:LoadVars = 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;
         //metodo sendAndLoad que envia datos y trae la respuesta de php
         form_lv.sendAndLoad("send.php", form_lv, "POST");
         mensaje_txt.text = "Enviando Mensaje..";
         nombre_txt.text = "";
         email_txt.text = "";
         titulo_txt.text = "";
         form_lv.onLoad = function() {
            trace("LLEGO");
            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 servidor\nIntentalo 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";
   }
};
_global.borrar = function() {
   nombre_txt.text = "";
   email_txt.text = "";
   mensaje_txt.text = "";
   titulo_txt.text = "";
};
this.textocontacto.amarillo3boton.amarillo3botonenviar.onRelease = function() {
   enviar();
};
this.textocontacto.amarillo4boton.amarillo4botonborrar.onRelease = function() {
   borrar();
};

Por DiegoAzul

376 de clabLevel



 

Mx

firefox
Citar            
MensajeEscrito el 28 May 2007 01:00 pm
Gracias Daniel y Gaby!!!!
Igualmente no me funciona....
La solucion de daniel me parecia que podia funionar, pero no es asi...
Aca les paso el codigo en PHP a ver si es ahi el problema, aunque no creo, ya que antes funionaba bien y dejo de funcionar porque ahora el formulario esta en una pelicula externa a la pelicula principal.
El problema esta en la comunicacion entre los programas, porque si PHP no recibe las variables no envia el mail (es decir que algo esta recibiendo y lo envia vacio)y el flash no recibe nada de php (ya que si recibiera, me tendria que escribir "enviado" y no "problemas con el servidor" y php envia una variable despues de enviar el mail).
No entiendo!!!!!!!!jejejeje
gracias igualmente!!!

Todo el tiempo aprendiendo mas!!!

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 May 2007 01:03 pm
ouch me olvide el codigo, jejeje. ahi va
<?php
global $enviado;
$enviado = "no";
if(isset($_POST["nombre"]) && isset($_POST["titulo"]) && isset($_POST["email"]) && isset($_POST["mensaje"])){
$fecha = date("d-M-y H:i");
$mymail = "[email protected]";
$subject = $titulo." - Desde el Sitio MIC s.r.l.";
$contenido = $nombre." escribio :\n";
$contenido .= $mensaje."\n\n";
$contenido .= "Responder a ".$email."\n";
$contenido .= "El mensaje se escribio el ".$fecha;
$header = "From:".$nombre." <".$email.">\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";
$enviado = "si";
}
if($enviado == "si"){
$destinatario = $email;
$asunto = "Respuesta de MIC";
$cuerpo = '
<html>
<head>
<title>mailrecibido</title>
</head>
<body bgcolor="#ffffff">
<table width="100%" border="0">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="center"><a href="http://www.micsrl.com"><img name="mailrecibido" src="http://www.micsrl.com/mail/mailrecibido.gif" width="473" height="183" border="0" id="mailrecibido" alt="" /></a></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</body>
</html>

';

//para el envío en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

//dirección del remitente
$headers .= "From: MIC <[email protected]>\r\n";


//ruta del mensaje desde origen a destino
$headers .= "Return-path: [email protected]\r\n";


mail($destinatario,$asunto,$cuerpo,$headers);
}
?>

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 May 2007 01:47 pm
te recomiendo que a tu PHP lo modifiques como sigue:

Código :

echo "&Error="; // aqui capturas si hay error en el PHP (esta línea la colocas al inicio del PHP

//en lugar de estas dos líneas:
//mail($mymail, $subject, utf8_decode($contenido) ,$header);
//echo "estatus=ok";

//escribe lo siguiente:
$res=mail($mymail, $subject, utf8_decode($contenido) ,$header); // obtienes el resultado de esta función
echo "&swOK=$res&Datos=Para:$mymail, Asunto: $subject, Contenido:utf8_decode($contenido), Cabecera:$header&";


luego el FLA lo modificas como sigue:

Código :

         form_lv.onLoad = function(swResultado) {
            trace("LLEGO");
            // la variable swResultado trae un resultado boleano (true si fue exitoso el envío, y false si hubo error)
            if (!swResultado) {
                   mensaje_txt.text = "Error en el archivo PHP\nswResultado=(" + swResultado + ") \n" + this.Error + "\n" + this.Datos);
                   return;
            }
            mensaje_txt.text = "Tu mensaje fue enviado...";
            nombre_txt.text = "";
            email_txt.text = "";
            titulo_txt.text = "";
         }; 

los cambios aqui especificados son para rastrear el error, y te muestre en el campo "mensaje_txt" el error que esta ocurriendo durante esta comunicación entre el flash y PHP.
Tienes que adecuar el campo "mensaje_txt" para que sea un campo que acepte varios renglones y que además sea seleccionable, para que lo puedas ver completo, en caso de que te muestre muchos datos.

Nos comentas como te fue.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 28 May 2007 04:05 pm
Que tul???
Bueno, les cuento un poco: al maldito servidor le hacia falta un pequeño archivo php.ini con un renglon que decia :
register_globals = on
Como iba a saberlo!!!!!!!!!!
bueno de esta forma todos los mails llegan bien!!!
gracias a todos!!!!...........pero no todo es color de rosas!!!!
la cosa es que ahora la variable que envia el php al flash para confirmar el envio del mail, el flash no la esta tomando (la variable echo "estatus=ok"; el flash no la toma), por lo tanto el mail se enia bien, pero la pagina me dice que hubo error!!!
Les recuerdo que la pelicula que tiene el formulario es una pelicula externa enbebida encima de otra (no sera algun problema de rutas?????........los _global.enviar, etc que me pasaste gaby ya los probe y no es eso)
Gracias a todos por la ayuda!!!!

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 May 2007 07:56 pm
listo el pollo....ya me funciona todo....aunque no entienda muy bien porque.
la cosa era:
echo "&estatus=ok&";
y en flash:
if(this.estatus=="ok"){ etc..}
gracias a todos

Por pabletein

86 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.