Comunidad de diseño web y desarrollo en internet online

Problema con formulario

Citar            
MensajeEscrito el 16 Oct 2008 10:02 pm
Gente, les comento el problema. Un poco con lo que tenía y otro con su ayuda arme un formulario grande para carga de CV desde flash y php que envía un mail con los datos.
El formulario tiene varios ComboBox, y el problema es que en el mail que me llega, el dato que corresponde a los combos, y al siguiente, me llegan pegados, sin el punto y aparte lo cual dificulta la lectura del mensaje.
El mail llega así:

Nombre : rene
Domicilio : combet 6273
Localidad : ballester
Cp : 1653
Provincia : buenos aires
Fecha : 13/05/79
Estado Civil : Casado/aPrefijo : 011
Telefono : 4722-1096
Email : [email protected]
Pais : AlemaniaCuil : 22-555555555-5555
Area1 : AdministraciónPuesto1 : GerenteArea2 : Asuntos LegalesPuesto2 : SubgerenteArea3 : Comercio ExteriorPuesto3 :

Por ejemplo, Estado Civil en un combo, y el prefijo que no lo es llega pegado. Luego lo mismo con país ( combo) y todo loq ue dice Areas y puesto son todos combos y llega todo en una misma línea.

El código del flash ( una parte ) es este

Código :

System.useCodepage = true;
alerta._visible = 0;
conectar = new LoadVars();
asunto = "Mensaje desde el sitio web";
servidor = "200.49.145.7";
destino = "[email protected]";
function responder(mensaje) {
   alerta._visible = 1;
   alerta.respuesta = mensaje;
}
function conectarse(archivo) {
   if (apellido == "" || apellido == null || apellido.length<2) {
      responder("El campo Apellido está vacío");
   } else if (nombre == "" || nombre == null || nombre.length<2) {
      responder("El campo Nombre está vacío");
   } else if (domicilio == "" || domicilio == null || domicilio.length<2) {
      responder("El campo Domicilio está vacío");
   } else if (localidad == "" || localidad == null || localidad.length<2) {
      responder("El campo Localidad está vacío");
   } else if (cp == "" || cp == null || cp.length<2) {
      responder("El campo Código Postal está vacío");
   } else if (fecha == "" || fecha == null || fecha.length<2) {
      responder("El campo Fecha está vacío");
   } else if (provincia == "" || provincia == null || provincia.length<2) {
      responder("El campo Provincia está vacío");
   } else if (prefijo == "" || prefijo == null || prefijo.length<2) {
      responder("El campo Prefijo está vacío");
   } else if (telefono == "" || telefono == null || telefono.length<6) {
      responder("el campo telefono esta vacío o no es real");
   } else if (email == "" || email.indexOf("@")<1 || email.indexOf(".", -1)<3) {
      responder("el campo EMAIL esta vacío o no es real");
   } else if (cuil == "" || cuil == null || cuil.length<6) {
      responder("el campo Cuil esta vacío o no es real");
   } else {
      conectar.contenido += "Apellido : "+apellido+"<BR>";
      conectar.contenido += "Nombre : "+nombre+"<BR>";
      conectar.contenido += "Domicilio : "+domicilio+"<BR>";
      conectar.contenido += "Localidad : "+localidad+"<BR>";
      conectar.contenido += "Cp : "+cp+"<BR>";
      conectar.contenido += "Provincia : "+provincia+"<BR>";
      conectar.contenido += "Fecha : "+fecha+"<BR>";
      conectar.contenido += "Estado Civil : "+_root.civil.value; +"<BR>";
      conectar.contenido += "Prefijo : "+prefijo+"<BR>";
      conectar.contenido += "Telefono : "+telefono+"<BR>";
      conectar.contenido += "Email : "+email+"<BR>";
      conectar.contenido += "Pais : "+_root.paises.value; +"<BR>";
      conectar.contenido += "Cuil : "+cuil+"<BR>";
      conectar.contenido += "Area1 : "+_root.area1.value; +"<BR>";
      conectar.contenido += "Puesto1 : "+_root.puesto1.value; +"<BR>";
      conectar.contenido += "Area2 : "+_root.area2.value; +"<BR>";
      conectar.contenido += "Puesto2 : "+_root.puesto2.value; +"<BR>";
      conectar.contenido += "Area3 : "+_root.area3.value; +"<BR>";
      conectar.contenido += "Puesto3 : "+_root.puesto3.value; +"<BR>";
      conectar.origen = origen;
      conectar.email_destino = destino;
      conectar.aliasdecorreo = servidor;
      conectar.asunto = asunto;
      responder("Enviando mensaje");
      conectar.sendAndLoad(archivo, conectar, "POST");
   }
}
conectar.onLoad = function() {
   responder(this.mensaje);
};
stop();


y el php es

Código :

<? 
       $destino = $email_destino;
       $asunto2 = $asunto;
   
       $encabezados = "From: <$email_destino> \n";
       $encabezados .= "Reply-To: <$email_destino> \n";
       $cuerpo = "$contenido\n";
       mail($destino, $asunto2, $cuerpo, "Content-type: text/html\n". $encabezados) or die ("&mensaje=No se pudo procesar el formulario");

   echo "mensaje=El formulario ha sido procesado correctamente";
?>



Yo supongo sin saber mucho que hay mejores formas de armar el formulario, y el php, pero ya tengo todo, lo que le spido es que me ayuden a corregir este problema con lo que ya tengo armado más o menos. Muchas gracias

Por percepto

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 16 Oct 2008 10:45 pm
Sobran los punto y coma, lo tienes de esta forma en esos lugares:

Código ActionScript :

"Estado Civil : "+_root.civil.value; +"<BR>";


Déjalo de esta forma:

Código ActionScript :

"Estado Civil : " + _root.civil.value + "<BR>";

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 17 Oct 2008 12:53 pm
Era tan simple !! con solo ver como estaban los demás se notaba !!! muchas gracias.. funciona perfecto.

UNa duda más ... cunado no seleccionan nada en un combo, actualmente me llega la leyenda Undefined
Tengo una forma de que ese item directamente no llegue, o al menos.. que salga No seleccionado o una leyenda que quiera poner?
Gracias

Por percepto

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 17 Oct 2008 07:34 pm
No entiendo bien la pregunta, quizás necesite ver el código del evento del comboBox para entender mejor.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 17 Oct 2008 08:44 pm
Antes que nada.. gracias por la buena onda.

Te pongo el de uno de los combos, ya que en todos los casos es lo mismo


Código :

var dedicaciondatos = new DataProvider;
dedicaciondatos = ["Seleccionar","Part time","Full time","Free lance"];
dedicacion.dataProvider = dedicaciondatos;



y el codigo que levanta esa variable para mandarla por mail

Código :

conectar.contenido += "Dedicación Laboral : "+_root.dedicacion.value+"<BR>";


En la primero opción pongo seleccionar para que se vea eso
y el punto es... que quiero que si en este combo ( o en cualquier otro ) el usuario no selecciona nada.. en el mail que me llega, ese item no figure, o de lo contrario, figure una leyenda que yo puda poner.
Actualmente me llega así:

dedicación: undefined

en caso que no seleccionen nada del combo.
Yo supongo que tendre que agregar algo en el codigo que indique que si el usuario no selecciona nada, esa variable no se mande. De todos modos.. si no se entiende.. no importa, lo dejare asi como esta

Por percepto

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 17 Oct 2008 09:10 pm
No has posteado el código del evento del comboBox, debe ser algo como esto:

Código ActionScript :

var listener:Object = new Object();
listener.change = function(targetObj):Void {
   trace("se ha seleccionado");
};
dedicacion.addEventListener("change", listener);

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 17 Oct 2008 10:28 pm
NO.. NO TENGO NADA DE ESO EN EL CODIGO... Y PROVABLEMENTE POR ESO NO PUEDO HACER QUE SI NO ELIGEN NADA, NO SALGA NADA...
COMO MENCIONE AL PRINCIPIO ES UN CODIGO DE ALGO QUE YA TENIA QUE LE FUI AGREGANDO COSAS CON AYUDA DE UDS ACA...
Y PARA LOS COMBOS, SOLO AGREGUE LOQ UE PUSE ARRIBA... LO QUE SERIA LA VARIABLE DEL COMBO,
var dedicaciondatos = new DataProvider;

LAS OPCIONES DEL COMBO
dedicaciondatos = ["Seleccionar","Part time","Full time","Free lance"];
dedicacion.dataProvider = dedicaciondatos;

Y LUEGO COMO MANDO ESO AL PHP...
NO TENOG MAS QUE ESO...
NO HAY PROBLEMA.. SI CON ESTO QUE MARCO NO SE ENTIENDE BIEN.. LO DEJARE ASI.. MUCHAS GRACIAS DE TODOS MODOS

Por percepto

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 17 Oct 2008 10:31 pm
No escribas en mayúsculas.
¿Si no tienes una función como esa entonces como es que llamas al php cada vez que eliges un item del comboBox?

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 18 Oct 2008 10:55 am
el tema es que yo tenia un simple formulario de contacto, y a ese, con ayuda de otro usuario, le agregue lo que puse arriba para definir los contenidos de los combos, y la función que te puse que conecta el contenido seleccionado, y ene l botón enviar, la conección al php.. solo eso
Lo paso en limpio

defino el contenido de uno de los combos, que habla de la disponibilidad de trabajo. La instacia del combo se llama dedicacion

Código :

var dedicaciondatos = new DataProvider;
dedicaciondatos = ["Seleccionar","Part time","Full time","Free lance"];
dedicacion.dataProvider = dedicaciondatos;


luego el código general que levanta toda la información que se completa en el formulario. Coloco alguno más para que se entienda todo. Algunos son combos y otros ingreso de texto.

Código :

System.useCodepage = true;
alerta._visible = 0;
// Aca dcreo la instancia del objeto loadVars, al que llamamos "conectar"
conectar = new LoadVars();
// Declaro las variables necesarias para enviar el email
asunto = "Mensaje desde el sitio web";
servidor = "200.49.145.7";
destino = "[email protected]";
function responder(mensaje) {
   alerta._visible = 1;
   alerta.respuesta = mensaje;
}
function conectarse(archivo) {
   if (apellido == "" || apellido == null || apellido.length<2) {
      responder("El campo Apellido está vacío");
   } else if (nombre == "" || nombre == null || nombre.length<2) {
      responder("El campo Nombre está vacío");
   } else if (domicilio == "" || domicilio == null || domicilio.length<2) {
      responder("El campo Domicilio está vacío");
   } else if (localidad == "" || localidad == null || localidad.length<2) {
      responder("El campo Localidad está vacío");
   } else if (telefono == "" || telefono == null || telefono.length<6) {
      responder("el campo telefono esta vacío o no es real");
   } else if (email == "" || email.indexOf("@")<1 || email.indexOf(".", -1)<3) {
      responder("el campo EMAIL esta vacío o no es real");
   } else if (cuil == "" || cuil == null || cuil.length<6) {
      responder("el campo Cuil esta vacío o no es real");
   } else {
      conectar.contenido += "Apellido : "+apellido+"<BR>";
      conectar.contenido += "Nombre : "+nombre+"<BR>";
      conectar.contenido += "Domicilio : "+domicilio+"<BR>";
      conectar.contenido += "Localidad : "+localidad+"<BR>";
      conectar.contenido += "Cp : "+cp+"<BR>";
      conectar.contenido += "Provincia : "+provincia+"<BR>";
      conectar.contenido += "Fecha : "+fecha+"<BR>";
      conectar.contenido += "Estado Civil : "+_root.civil.value; +"<BR>";
      conectar.contenido += "Prefijo : "+prefijo+"<BR>";
      conectar.contenido += "Telefono : "+telefono+"<BR>";
      conectar.contenido += "Email : "+email+"<BR>";
      conectar.contenido += "Pais : "+_root.paises.value; +"<BR>";
      conectar.contenido += "Cuil : "+cuil+"<BR>";
      conectar.contenido += "Area1 : "+_root.area1.value; +"<BR>";
      conectar.contenido += "Puesto1 : "+_root.puesto1.value; +"<BR>";
      conectar.contenido += "Area2 : "+_root.area2.value; +"<BR>";
      conectar.contenido += "Puesto2 : "+_root.puesto2.value; +"<BR>";
      conectar.contenido += "Area3 : "+_root.area3.value; +"<BR>";
      conectar.contenido += "Puesto3 : "+_root.puesto3.value; +"<BR>";
      conectar.contenido += "Estudios Secundarios : "+_root.secundario.value; +"<BR>";
      conectar.contenido += "Institución : "+institucion1+"<BR>";
      conectar.contenido += "Estudios Terciarios : "+_root.terciario.value; +"<BR>";
      conectar.contenido += "Institución : "+institucion2+"<BR>";
      conectar.contenido += "Estudios Universitarios : "+_root.universitario.value; +"<BR>";
      conectar.contenido += "Institución : "+institucion3+"<BR>";
      conectar.contenido += "Carrera : "+carrera+"<BR>";
      conectar.contenido += "Titulo Obtenido : "+titulo+"<BR>";
      conectar.contenido += "Cursos realizados : "+cursos+"<BR>";
      conectar.contenido += "Posgrados : "+_root.posgrado.value; +"<BR>";
      conectar.contenido += "Institución : "+institucionposgrado+"<BR>";
      conectar.contenido += "Maestria : "+_root.maestria.value; +"<BR>";
      conectar.contenido += "Institución : "+institucionmaestria+"<BR>";
      conectar.contenido += "Certificacion : "+_root.certificaciones.value; +"<BR>";
      conectar.contenido += "Otras certificaciones : "+otrascertificaciones+"<BR>";
      conectar.contenido += "Antecedente Labotal 1 : "+antecedentes1+"<BR>";
      conectar.contenido += "Rubro : "+rubro1+"<BR>";
      conectar.contenido += "Puesto Ocupado : "+antecedentepuesto1+"<BR>";
      conectar.contenido += "Período laboral Desde: "+_root.desde1.value; +"<BR>";
      conectar.contenido += "Año : "+_root.ano1.value; +"<BR>";
      conectar.contenido += "Período laboral Hasta: "+_root.hasta1.value; +"<BR>";
      conectar.contenido += "Año : "+_root.ano2.value; +"<BR>";
      conectar.contenido += "Antecedente Labotal 2 : "+antecedentes2+"<BR>";
      conectar.contenido += "Rubro : "+rubro2+"<BR>";
      conectar.contenido += "Puesto Ocupado : "+antecedentepuesto2+"<BR>";
      conectar.contenido += "Período laboral Desde: "+_root.desde2.value; +"<BR>";
      conectar.contenido += "Año : "+_root.ano3.value; +"<BR>";
      conectar.contenido += "Período laboral Hasta: "+_root.hasta2.value; +"<BR>";
      conectar.contenido += "Año : "+_root.ano4.value; +"<BR>";
      conectar.contenido += "Antecedente Labotal 3 : "+antecedentes3+"<BR>";
      conectar.contenido += "Rubro : "+rubro3+"<BR>";
      conectar.contenido += "Puesto Ocupado : "+antecedentepuesto3+"<BR>";
      conectar.contenido += "Período laboral Desde: "+_root.desde3.value; +"<BR>";
      conectar.contenido += "Año : "+_root.ano5.value; +"<BR>";
      conectar.contenido += "Período laboral Hasta: "+_root.hasta3.value; +"<BR>";
      conectar.contenido += "Año : "+_root.ano6.value; +"<BR>";
      conectar.contenido += "Antecedente Labotal 4 : "+antecedentes4+"<BR>";
      conectar.contenido += "Rubro : "+rubro4+"<BR>";
      conectar.contenido += "Puesto Ocupado : "+antecedentepuesto4+"<BR>";
      conectar.contenido += "Período laboral Desde: "+_root.desde4.value; +"<BR>";
      conectar.contenido += "Año : "+_root.ano7.value; +"<BR>";
      conectar.contenido += "Período laboral Hasta: "+_root.hasta4.value; +"<BR>";
      conectar.contenido += "Año : "+_root.ano8.value; +"<BR>";
      conectar.contenido += "Idioma 1 : "+_root.idioma1.value; +"<BR>";
      conectar.contenido += "Nivel de Habla : "+_root.habla1.value; +"<BR>";
      conectar.contenido += "Nivel de Escritura : "+_root.escribe1.value; +"<BR>";
      conectar.contenido += "Nivel de Lectura : "+_root.lee1.value; +"<BR>";
      conectar.contenido += "Idioma 2 : "+_root.idioma2.value; +"<BR>";
      conectar.contenido += "Nivel de Habla : "+_root.habla2.value; +"<BR>";
      conectar.contenido += "Nivel de Escritura : "+_root.escribe2.value; +"<BR>";
      conectar.contenido += "Nivel de Lectura : "+_root.lee2.value; +"<BR>";
      conectar.contenido += "Programa Word : "+_root.word.value; +"<BR>";
      conectar.contenido += "Programa Excel : "+_root.excel.value; +"<BR>";
      conectar.contenido += "Programa Power Point : "+_root.power.value; +"<BR>";
      conectar.contenido += "Otros Programas : "+otrosprogramas+"<BR>";
      conectar.contenido += "Dedicación Laboral : "+_root.dedicacion.value; +"<BR>";
      conectar.contenido += "Remuneración Pretendida : "+_root.remuneracion.value; +"<BR>";
      conectar.origen = origen;
      conectar.email_destino = destino;
      conectar.aliasdecorreo = servidor;
      conectar.asunto = asunto;
      responder("Enviando mensaje");
      conectar.sendAndLoad(archivo, conectar, "POST");
   }
}
// aca se cargan los resultados del PHP en el objeto conectar
conectar.onLoad = function() {
   responder(this.mensaje);
};
stop();


luego, en el boton enviar, lo siguiente

Código :

on (release) {
   // para enviar el mail usando este php
   conectarse("11_003.php");
   apellido = "";
   nombre = "";
   domicilio = "";
   localidad = "";
   cp = "";
   provincia = "";
   fecha = "";
   prefijo = "";
   telefono = "";
   email = "";
   cuil = "";
   institucion1 = "";
   institucion2 = "";
   institucion3 = "";
   carrera = "";
   titulo = "";
   cursos = "";
   institucionposgrado = "";
   institucionmaestria = "";
   iotrascertificaciones = "";
   antecedentes1 = "";
   antecedentes2 = "";
   antecedentes3 = "";
   antecedentes4 = "";
   rubro1 = "";
   rubro2 = "";
   rubro3 = "";
   rubro4 = "";
   antecedentespuesto1 = "";
   antecedentespuesto2 = "";
   antecedentespuesto3 = "";
   antecedentespuesto4 = "";
   otrosprogramas = "";
   pais.selectedIndex = 0;
   civil.selectedIndex = 0;
   area1.selectedIndex = 0;
   puesto1.selectedIndex = 0;
   area2.selectedIndex = 0;
   puesto2.selectedIndex = 0;
   area3.selectedIndex = 0;
   puesto3.selectedIndex = 0;
   secundario.selectedIndex = 0;
   terciario.selectedIndex = 0;
   universitario.selectedIndex = 0;
   posgrado.selectedIndex = 0;
   maestria.selectedIndex = 0;
   certificaciones.selectedIndex = 0;
   desde1.selectedIndex = 0;
   desde2.selectedIndex = 0;
   desde3.selectedIndex = 0;
   desde4.selectedIndex = 0;
   hasta1.selectedIndex = 0;
   hasta2.selectedIndex = 0;
   hasta3.selectedIndex = 0;
   hasta4.selectedIndex = 0;
   ano1.selectedIndex = 0;
   ano2.selectedIndex = 0;
   ano3.selectedIndex = 0;
   ano4.selectedIndex = 0;
   ano5.selectedIndex = 0;
   ano6.selectedIndex = 0;
   ano7.selectedIndex = 0;
   ano8.selectedIndex = 0;
   idioma1.selectedIndex = 0;
   idioma2.selectedIndex = 0;
   habla1.selectedIndex = 0;
   habla2.selectedIndex = 0;
   escribe1.selectedIndex = 0;
   escribe2.selectedIndex = 0;
   lee1.selectedIndex = 0;
   lee2.selectedIndex = 0;
   word.selectedIndex = 0;
   excel.selectedIndex = 0;
   power.selectedIndex = 0;
   dedicacion.selectedIndex = 0;
   remuneracion.selectedIndex = 0;
}



por ultimo el php

Código :

<? 
       $destino = $email_destino;
       $asunto2 = $asunto;
   
       $encabezados = "From: <$email_destino> \n";
       $encabezados .= "Reply-To: <$email_destino> \n";
       $cuerpo = "$contenido\n";
       mail($destino, $asunto2, $cuerpo, "Content-type: text/html\n". $encabezados) or die ("&mensaje=No se pudo procesar el formulario");

   echo "mensaje=El formulario ha sido procesado correctamente";
?>


como dije de entrada.. es un formulario basico al que le agregue los combos, en un tutorial aprendi a declarar las variables de los combos. Luego una chica de aca, me paso como hacer que eso llegue en el mail.

Por percepto

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 20 Oct 2008 10:14 am
Ya veo, te conectas al php con un botón de enviar y llamas a la función "conectarse", bueno veo que en esta haces varias condiciones para en caso de que no se cumplan algunos parámetros llamas a una función que le advierte al usuario que debe rellenar el campo, debes incluir en estas condiciones una que chequee que se haya elegido algún contenido del comboBox:

Código ActionScript :

   .
   .
   .

} else if(dedicacion.value == ""){

   responder("escoja algún item del comboBox");

}else{

   .
   .
   .

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 20 Oct 2008 04:49 pm
Muchas gracias !!! creo que con eso ya está todo ok.
Saludos

Por percepto

46 de clabLevel



 

msie7

 

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