Comunidad de diseño web y desarrollo en internet online

Ayuda con los checkbox

Citar            
MensajeEscrito el 22 Dic 2008 11:27 pm
:shock: Hola tengo un pequeño problema, lo que pasa es que estpy haciendo dos formularios, unos es un test, el cual ya hice la parte que llevan los campos,nombre,mail,empresa,etc,etc,msg. pero en ese test tengo preguntas de opcion multiple, y no se como usar el radio botton o los checkbox,por lo que he visto tengo que usar los checkbox,pero no se como implementar la info que ponen al seleccionar la casilla, y me llegue a mi mail, osea la de mas info que se coloca en la pagina donde tnego la prueba si me llega, estoy usanbdo una pelicula en flash con un formulario de email, donde le adheri los demas campos junto con un archivo .php, y me llega perfecto, pero lo de las preguntas de opcion multiple que llevan consigo los checkbox, la verdad no se que onda,agradeceria mucho si me explicaran como puedo solucionar eso, o de que forma coloco los checkbox en mi archivo flash y en mi .php, para que e llegue l info a mi mail,Gracias. :?

Por vitaminade

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Dic 2008 11:52 pm
A ya mira, es muy parecido a como lo haces con las otras variables, y mejor usa checkboxes si? esos se usan mas para multiseleccion.

Te voy a explicar la primera forma que se me vino a la cabeza, hace tiempo que no veo forms en flash, pero funciona, quiza alguien tenga una mas optima.

A cada checkbox ponle de nombre de instancia un nombre en comun y un numero correlativo, por ejemplo: opcion1, opcion2, opcion3, opcion4, etc...

En las propiedades de cada checkbox hay un campo LABEL, ese llenalo que es el nombre que llegara al email.

Suponte que tengo 3 checkboxes:

Instancia: opcion1 - Label: Interés General
Instancia: opcion2 - Label: Belleza
Instancia: opcion3 - Label: Musica

En tu funcion donde capturas los valores de cada uno de tus campos hay que agregar el de estos checkboxes, para capturar solo los que estan checkeados yo hago un for, me paseo por todos y solo capturo los checkeados.

Código ActionScript :

valor_check = ""
for(i=1;i<4;i++){
      if(_root["opcion"+i].value==true){
         valor_check += _root["opcion"+i].label+"\n";
         
      }
}
   
trace(valor_check);


Y en valor_check, que es una variable, almaceno y concateno las opciones seleccionadas, de aqui tu puedes ajustarlo a tus necesidades es solo un ejemplo. Y esa vendria a ser la variable que mandas por email.

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 23 Dic 2008 08:10 am
ahh okas tnks... ya hice lo de los checkvbox, los nombre de instancia y todo... ahra ese codigo no entendi muy bien .. :) ira en mi archivo flash? o en el .php

Código :

?php
   $destinatario="[email protected]";
   
   //estos datos se usaran como cabecera del email.
   $cabeceras="MIME-Version: 1.0\r\n";
   $cabeceras .= "Content-type: text/html; charset=utf-8\r\n";
   $cabeceras.="From: {$_POST['nombre']}<{$de}>\r\n";
   $cabeceras.="Reply-To: {$_POST['email']}\r\n";
   //el asunto del mensaje:
   $asunto="Solicitud-EL AUTO DE TU VIDA";
   //El cuerpo del mensaje:
   $cuerpo=' Ha recibido un email del usuario: '.$_POST['nombre'].' ( '.$_POST['email'].' )
   <br>Sus datos para el TEST son los siguientes:<br>
   
    <br>Edad:'.$_POST['edad'].'
   <br>Direccion:'.$_POST['direccion'].'
   <br>Telefono de casa:'.$_POST['casa'].' 
   <br>Telefono de oficina:'.$_POST['oficina'].' 
   <br>Celular:'.$_POST['cel'].' 
   <br>Estado civil:'.$_POST['estadocivil'].'
   <br>Auto actual:'.$_POST['autoactual'].'
   <br>Auto que desea:'.$_POST['autodesea'].' 
   <br>Ingreso mensual neto:'.$_POST['ingresoneto'].' 
   <br>Numero de personas:'.$_POST['numpersonas'].'
   <br>Enganche disponible:'.$_POST['enganche'].'
   <br>Pago mensual disponible:'.$_POST['pagomensual'].'
   <br>Kilometraje al mes:'.$_POST['kmpormes'].' 
   <br>Dimension cochera de largo:'.$_POST['largo'].' 
   <br>Dimension cochera de ancho:'.$_POST['ancho'].' 
   <br>Con el siguiente contenido:';
   $cuerpo.='<br>'.$_POST['texto'].'<br>';
   //la persona wue envia el email.
   $de=$_POST['email'];

   if(mail($destinatario, $asunto, $cuerpo,$cabeceras)){
      echo utf8_encode('&estado=enviado');    
    }else{
       echo utf8_encode('&estado=no_enviado');   
    } 

?>



Ese es mi codigo en PHP como adjuntaria lo que falta? Saludos

Por vitaminade

22 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Dic 2008 02:00 pm
El codigo que te di es actionscript es para el flash, y la variable que mandas en el ejemplo es valor_check, es una variable mas, como cualquiera de las otros que estas pasando (nombre, edad, etc), solo agregalo en tu php con el label que corresponde y pasas la variable por el post como haces con las otras $_POST['valor_check']

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 23 Dic 2008 09:57 pm
:( Hola al parecer algo estoy haciendo mal, ya puse los chekbox les puse nombre de instancia a todos,junto con lode LABLE, y en mi fotograma de funcion le agregue el codigo k me diste, y ami codigo PHP igual, el codigo action script s por cada checkbox? sorry pero pues creo que lo estoy haicendo mal ... te dejo lsocodigos que tengo:

Este es de mi fotograma #Funcion:

Código :

/*
Esta función se encarga de enviar el email.
Usa un objeto LoadVar para enviar el email y se programa el evento 
onload de dicho objeto para recibirla respuesta del servidor.
*/
function enviar() {
   trace(t_nombre.text);
   //se crea un nuevo objeto LoadVars y se carga con los datos que vamos a enviar.
   datos_email.nombre =t_nombre.text;
   datos_email.email =t_email.text;
   datos_email.texto =t_texto.htmlText;
    datos_email.edad =t_edad.text;
   datos_email.direccion =t_direccion.text;
   datos_email.casa =t_casa.text;
   datos_email.oficina =t_oficina.text;
   datos_email.cel =t_cel.text;
   datos_email.estadocivil =t_estadocivil.text;
   datos_email.autoactual =t_autoactual.text;
   datos_email.autodesea =t_autodesea.text;
   datos_email.ingresoneto =t_ingresoneto.text;
   datos_email.numpersonas =t_numpersonas.text;
   datos_email.enganche =t_enganche.text;
   datos_email.pagomensual =t_pagomensual.text;
   datos_email.kmpormes =t_kmpormes.text;
   datos_email.largo =t_largo.text;
   datos_email.ancho =t_ancho.text;
   
   datos_email.seguridad =t_seguridad.text;
   datos_email.pagomensual =t_pagomensual.text;
   datos_email.kmpormes =t_kmpormes.text;
   datos_email.largo =t_largo.text;
   datos_email.ancho =t_ancho.text;
   
   Ciudad = "" 
   for(i=1;i<4;i++){       
          if(_root["opcion"+i].value==true){          
             valor_check += _root["opcion"+i].label+"\n";                 
   
          } 
   }     
   trace(Ciudad); 

   //
   datos_email.estado ="";
   //Se programa la función que se ejecutara al recibir la respuesta del servidor
   datos_email.onLoad = function() {
      /*
      al ejecutarse la función dentro del objeto loadVars, debemos usar 'this'
      para referirnos a 'datos_email'.
      'estado' es una variable que nos devuelve el scrip php, nos referimos a ella
      como this.estado.
      */
      trace(this);
      trace(this.estado);
      if (this.estado == "enviado") {
         //si el email se ha enviado, vamos al fotograma 2.
         gotoAndStop(3);
      } else {
         //en caso contrario, vamos al fotograma 3
         gotoAndStop(4);
      }
   };
   //se envian los datos usando sendAndLoad.
   datos_email.sendAndLoad("test.php",datos_email,"post");
   gotoAndStop(2)
   }
   




Este es de mitor fotograma debajo de la de #Funciones, se llamna #AS

Código :


/*
Activamos la utilización de unicode, esto puede darle problemas si sus scrips
no usan unicode para comunicarse con el servidor.
en este caso elimine o comente la siguiente linea:
*/
System.useCodepage = false;
/*
Si no existe, creamos el objeto loadvars que usaremos para comunicarnos con el servidor
*/
if(datos_email==null){
datos_email = new LoadVars();
datos_email.nombre ="";
datos_email.email ="";
datos_email.texto ="";
datos_email.estadocivil ="";
datos_email.edad ="";
datos_email.direccion ="";
datos_email.casa ="";
datos_email.oficina ="";
datos_email.cel ="";
datos_email.estadocivil ="";
datos_email.autoactual ="";
datos_email.autodesea ="";
datos_email.ingresoneto ="";
datos_email.numpersonas ="";
datos_email.enganche ="";
datos_email.pagomensual ="";
datos_email.kmpormes ="";
datos_email.largo ="";
datos_email.ancho ="";
datos_email.ancho ="";


}
//
t_nombre.text=datos_email.nombre;
t_email.text=datos_email.email;
t_texto.htmlText=datos_email.texto;
/*
programamos el botón para que llame a la función 
enviar al hacer clic sobre el
*/
this.b_enviar.onPress = enviar;
stop();




y el d mi PHP

Código :

<?php



//estas variables las usaremos en el comando 'mail()' para costruir el email.

   
   $destinatario="[email protected]";
   
   //estos datos se usaran como cabecera del email.
   $cabeceras="MIME-Version: 1.0\r\n";
   $cabeceras .= "Content-type: text/html; charset=utf-8\r\n";
   $cabeceras.="From: {$_POST['nombre']}<{$de}>\r\n";
   $cabeceras.="Reply-To: {$_POST['email']}\r\n";
   //el asunto del mensaje:
   $asunto="Solicitud-EL AUTO DE TU VIDA";
   //El cuerpo del mensaje:
   $cuerpo=' ha recibido un email del usuario: '.$_POST['nombre'].' ( '.$_POST['email'].' )
   <br>Sus datos para el TEST son los siguientes:<br>
   
    <br>Edad:'.$_POST['edad'].'
   <br>Direccion:'.$_POST['direccion'].'
   <br>Telefono de casa:'.$_POST['casa'].' 
   <br>Telefono de oficina:'.$_POST['oficina'].' 
   <br>Celular:'.$_POST['cel'].' 
   <br>Estado civil:'.$_POST['estadocivil'].'
   <br>Auto actual:'.$_POST['autoactual'].'
   <br>Auto que desea:'.$_POST['autodesea'].' 
   <br>Ingreso mensual neto:'.$_POST['ingresoneto'].' 
   <br>Numero de personas:'.$_POST['numpersonas'].'
   <br>Enganche disponible:'.$_POST['enganche'].'
   <br>Pago mensual disponible:'.$_POST['pagomensual'].'
   <br>Kilometraje al mes:'.$_POST['kmpormes'].' 
   <br>Dimension cochera de largo:'.$_POST['largo'].' 
   <br>Dimension cochera de ancho:'.$_POST['ancho'].' 
   <br>Ciudad:'.$_POST['Ciudad'].' 
   <br>Carretera:'.$_POST['Carretera'].' 
   <br>Con el siguiente contenido:';
   $cuerpo.='<br>'.$_POST['texto'].'<br>';
   //la persona wue envia el email.
   $de=$_POST['email'];



   if(mail($destinatario, $asunto, $cuerpo,$cabeceras)){
      echo utf8_encode('&estado=enviado');    
    }else{
       echo utf8_encode('&estado=no_enviado');   
    } 

?>



:?

Por vitaminade

22 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Dic 2008 10:08 pm
Yo creo que debes leer el codigo que estas utilizando, entenderlo y aplicar el que te di, porque sino, te va sa costumbrar a solo copiar el codigo, tomate un tiempo para leer tu funcion enviar(), dale la logica, analizalo, y vas a ver que lo lograras implementar.

Sólo piensa que estas agregando una variable mas, tú puedes. Quiero ver que realmente estas entendiendo el codigo, si no puedes mas te ayudaré, quiero ver el esfuerzo en entender lo que estas implementando.

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 23 Dic 2008 11:30 pm
Gracias la verdad :) dame chance que haga mis pruebas y lo entienda y t digo tnks :D

Por vitaminade

22 de clabLevel



 

msie7

 

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