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

Problema formulario de envio.

Estas en el tema de Problema formulario de envio. en el foro de Flash y Actionscript en Foros del Web. Hice un formulario en flash de la siguiente manera. Cree en el escenario un movie clip en el que adentro contiene todo el formulario. En ...
  #1 (permalink)  
Antiguo 06/11/2008, 17:43
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 12 años, 4 meses
Puntos: 1
Problema formulario de envio.

Hice un formulario en flash de la siguiente manera.

Cree en el escenario un movie clip en el que adentro contiene todo el formulario.

En el campo de texto donde el usuario tiene que poner el nombre cree un campo de introducción de texto con nombre de instancia nombre_txt
En el campo de texto donde el usuario tiene que poner su correo electrónico cree un campo de introducción de texto con nombre de instancia de emai_txt
En el campo de texto donde el usuario tiene que poner su mensaje cree un campo de introducción de texto con nombre de instancia de mensaje_txt
Luego cree dos clip de pelicula que funcionan de boton uno para enviar con nombre de instancia enviar_txt y otro para borrar con nombre de instancia borrar_txt
Y un campo de texto dinámico que lo llamo como servidor_txt

Y en el primer frame coloco este código


enviar = function () {
if (email_txt.text.length && nombre_txt.length && empresa_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.empresa = empresa_txt.text;
form_lv.sendAndLoad("send.php", form_lv, "POST");
servidor_txt.text = "Enviando Mensaje..";
nombre_txt.text = "";
email_txt.text = "";
empresa_txt.text = "";
form_lv.onLoad = function() {
if (this.estatus == "ok") {
servidor_txt.text = "Tu mensaje fue enviado...";
nombre_txt.text = "";
email_txt.text = "";
empresa_txt.text = "";
} else {
servidor_txt.text = "Problemas con el servidor.";
}
};
} else {
email_txt.text = "Correo Invalido";
}
} else {
email_txt.text = "Dato Necesario";
nombre_txt.text = "Dato Necesario";
empresa_txt.text = "Dato Necesario";
mensaje_txt.text = "Dato Necesario";
}
};
borrar = function () {
nombre_txt.text ="";
empresa_txt.text ="";
email_txt.text ="";
servidor_txt.text ="";
};
enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;


Mediante flash llamo a un send.php que contiene este código


<?

$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'mati_rengo73';
$asunto = 'Contacto desde Mi Web';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo '&estatus=ok&';
?>


Lo subi a internet y no funciona.
A qué se debe esto?
Espero que me puedan ayudar.
http://www.portnoiweb.com/mati/contactos.swf

GRacias de antemano
  #2 (permalink)  
Antiguo 07/11/2008, 09:25
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Respuesta: Problema formulario de envio.

Hola elburdel:
En ésta línea del PHP: $para = 'mati_rengo73'; debes poner la dirección electrónica completa, por ejemplo: $para = '[email protected]';

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 07/11/2008, 09:37
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema formulario de envio.

jaja,que colgado.
Gracias
  #4 (permalink)  
Antiguo 07/11/2008, 10:51
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema formulario de envio.

Me sigue sin funcionar.

Cuando le doy al botón envíar me dice Dato Necesario, cuando se encuentran todos los datos completos.

http://www.rgplanet.com/form2/contactos.swf
  #5 (permalink)  
Antiguo 07/11/2008, 20:09
 
Fecha de Ingreso: septiembre-2008
Mensajes: 52
Antigüedad: 9 años, 3 meses
Puntos: 2
Respuesta: Problema formulario de envio.

Veo que inicializas y reseteas para los controles:
nombre_txt.text = "";
email_txt.text = "";
empresa_txt.text = "";

Pero también deberías hacerlo con mensaje_txt.text no sea que le quede "porquería" almacenada en memoria...
__________________
Diseño web
  #6 (permalink)  
Antiguo 07/11/2008, 20:16
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema formulario de envio.

Que querés decir con que quede "porqueria"en la memoria?
Ahora corrijo eso,aunque dudo que el problema que no me envíe el mail sea ese.
  #7 (permalink)  
Antiguo 08/11/2008, 04:59
 
Fecha de Ingreso: septiembre-2008
Mensajes: 52
Antigüedad: 9 años, 3 meses
Puntos: 2
Respuesta: Problema formulario de envio.

Quiero decir que para hacer trozos de codigo robustos y que no peten a las primeras de cambio, siempre es bueno: inicializar variables antes de usarlas (si no lo haces tú, lo hará el compilador por tí, y te aseguro que no siempre mete lo que a uno le gustaría... )
__________________
Diseño web
  #8 (permalink)  
Antiguo 08/11/2008, 08:21
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema formulario de envio.

Ok,ya lo modifique pero en mi pc no me funciona cuando le doy borrar sigue borrando solo dos campos,puede ser que esto se vea efecto cuando lo publique en internet?
Saludos
  #9 (permalink)  
Antiguo 08/11/2008, 11:04
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Respuesta: Problema formulario de envio.

Hola elburdel:
Escribe así tu código:
enviar = function () {
if (email_txt.text.length && nombre_txt.length && empresa_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.empresa = empresa_txt.text;
form_lv.sendAndLoad("send.php", form_lv, "POST");
servidor_txt.text = "Enviando Mensaje..";
nombre_txt.text = "";
email_txt.text = "";
empresa_txt.text = "";
mensaje_txt.text = "";
form_lv.onLoad = function() {
if (this.estatus == "ok") {
servidor_txt.text = "Tu mensaje fue enviado...";
nombre_txt.text = "";
email_txt.text = "";
empresa_txt.text = "";
mensaje_txt.text = "";
} else {
servidor_txt.text = "Problemas con el servidor.";
}
};
} else {
email_txt.text = "Correo Invalido";
}
} else {
email_txt.text = "Dato Necesario";
nombre_txt.text = "Dato Necesario";
empresa_txt.text = "Dato Necesario";
mensaje_txt.text = "Dato Necesario";
}
};
borrar = function () {
nombre_txt.text ="";
empresa_txt.text ="";
email_txt.text ="";
mensaje_txt.text = "";
servidor_txt.text ="";
};
enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/

Última edición por Bandit; 08/11/2008 a las 11:54
  #10 (permalink)  
Antiguo 08/11/2008, 11:37
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema formulario de envio.

donde pusiste

mensaje_tx.text = "";
Quisite poner
mensaje_txt.text = "";

?

Saludos
  #11 (permalink)  
Antiguo 08/11/2008, 11:55
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Respuesta: Problema formulario de envio.

Ya fue corregido, fue un error de imprenta.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #12 (permalink)  
Antiguo 08/11/2008, 16:57
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema formulario de envio.

Me sigue sin funcionar.

http://www.elcoyo.com.ar/prueba.html
  #13 (permalink)  
Antiguo 08/11/2008, 17:25
 
Fecha de Ingreso: julio-2005
Mensajes: 204
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema formulario de envio.

Ya lo solucione gracias a la ayudar de Danonino 2003

Este es el script que utilice.


enviar = function () {
trace(email_txt.text.length)
if (email_txt.text.length!=0 && nombre_txt.length!=0 && mensaje_txt.length!=0) {
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.empresa = empresa_txt.text;
form_lv.sendAndLoad("send.php",form_lv,"POST");
servidor_txt.text = "Enviando Mensaje..";
nombre_txt.text = "";
email_txt.text = "";
empresa_txt.text = "";
mensaje_txt.text = "";
form_lv.onLoad = function() {
if (this.estatus == "ok") {
servidor_txt.text = "Tu mensaje fue enviado...";
nombre_txt.text = "";
email_txt.text = "";
empresa_txt.text = "";
mensaje_txt.text = "";
} else {
servidor_txt.text = "Problemas con el servidor.";
}
};
} else {
email_txt.text = "Por favor introduce un correo electrónico valido";
}
} else {
email_txt.text = "Por favor introduzca su dirección de correo electrónico";
nombre_txt.text = "Por favor introduzca su nombre";
empresa_txt.text = "Dato Nece";
mensaje_txt.text = "Por favor introduzca un mensaje.";
}
};
borrar = function () {
nombre_txt.text = "";
empresa_txt.text = "";
email_txt.text = "";
mensaje_txt.text = "";
servidor_txt.text = "";
};
enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;
  #14 (permalink)  
Antiguo 08/11/2008, 17:38
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 67
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: Problema formulario de envio.

el error esta aca
if (email_txt.text.length && nombre_txt.length && empresa_txt.length && mensaje_txt.length) {
debe ir
if (email_txt.text.length!=0 && nombre_txt.length!=0 && empresa_txt.length!=0 && mensaje_txt.length!=0) {
recorda que tenes que tener todos esos campos, si por ejemplo en tu proyecto no existe el campo empresa_txt el codigo seria
if (email_txt.text.length!=0 && nombre_txt.length!=0 && mensaje_txt.length!=0) {

DISFRUTALO
----------------
me ganaste de mano jajajaja
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 08:00.