Foros del Web » Programando para Internet » PHP »

Tomar el valor de varios checkbox y enviar por email

Estas en el tema de Tomar el valor de varios checkbox y enviar por email en el foro de PHP en Foros del Web. Hola a todos estoy realizando una propuestas y de las cuales tengo varios textbox y 20 CHECKBOX, en los textbox no tengo problemas como haria ...
  #1 (permalink)  
Antiguo 14/12/2004, 03:43
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Tomar el valor de varios checkbox y enviar por email

Hola a todos estoy realizando una propuestas y de las cuales tengo varios textbox y 20 CHECKBOX, en los textbox no tengo problemas como haria para enviar los CHECKBOX de la pagina "propuesta.php" a esta otra pagina "enviar_email_propuesta.php"

*************************
Pagina "propuesta.php"
***********************
<form name="form1" method="post" action="enviar_email_propuesta.php">

<input name="checkbox1" type="checkbox" id="checkbox1" value="1"> Propuesta 1
<input name="checkbox2" type="checkbox" id="checkbox2" value="2"> Propuesta 2

....
<input name="checkbox19" type="checkbox" id="checkbox19" value="19"> Propuesta 19

<input name="checkbox20" type="checkbox" id="checkbox20" value="20"> Propuesta 20

</form>

como los podria recibir en "enviar_email_propuesta.php" estos CHECKBOX me parece que podria ser con un arreglo pero realmente no se como hacerlo.

Gracias y saludos a todos.
  #2 (permalink)  
Antiguo 14/12/2004, 03:46
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Con un array recojes todos los checkbox( por ejemplo con un foreach ) entonces con un while y un if recorres este array, para comprovar cuales estan vacios, para excluirlos y los que no los pones en un nuevo array, y ese el que enviaras por email.
  #3 (permalink)  
Antiguo 14/12/2004, 05:05
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Pero como seria la rutina, lo que pasa es que recien estoy empezando con esto(php) y me estoy haciendo problemas.

Gracias
  #4 (permalink)  
Antiguo 14/12/2004, 06:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lee esta FAQ .. detalla como trabajar con ese tipo de elementos en forma de array:
http://www.forosdelweb.com/f18/faqs-php-530600-post518710/

Un saludo,
  #5 (permalink)  
Antiguo 20/12/2004, 07:44
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola yo tengo un problema, casi no se nada de php y he leido el faq y ahora estoy peor que antes jajaja, bueno os cuento, tengo un formulario de registro en php el cual ingresa todos los datos en la base de datos, no es para enviar por email, luego otra pagina muestra los datos ingresados, todo bien hasta el momento, todo funciona bien, el problema es que le quiero implementar unos checkbox para que al momento de registrarse pueda escoger varias opciones, en este caso idiomas.

Lo tengo colocado en el formulario pero no se como agregar los datos a la base de datos y como hacer que se muestren luego, son 9 opciones de checkbox, como podria hacerlo, em principio agrege cada opcion en el insert pero claro en la bse de datos solo aparecen numeros en las opciones que habia marcado y luego no se como mostrarlos, perdonen por mi ignorancia pero estoy empezando con lo del php.

Un saludo
  #6 (permalink)  
Antiguo 20/12/2004, 15:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. como quieres gestionar esos datos en tu BD? ..

Puedes hacer que todos tus datos queden en un sólo campo de tu tabla . .o bien en una tabla extra relacionada con la que ya tendrás a registro nuevo por opción seleccionada en tu tabla.

A nivel "relacional" de tu BD .. todo depende de que vas hacer con esos datos .. si vas a hacer muchas consultas/estadísticas en base a esas opciones .. te vendría mejor usar una tabla extra para esos datos relacionados con la que le corresponde. Si sólo te interesa "almacenar" y "presentarlos" .. en un sólo campo te servirá.

Un saludo,
  #7 (permalink)  
Antiguo 20/12/2004, 16:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
no voy a utilizarlos para estadisticas ni nada, solo para almacenarlos y mostrarlos, lo que pasa es que nunca he utilizado los checkbox y no se como ingresar la informacion de los checkbox en un campo de la tabla y despues mostrarlos, por eso lo preguntaba porque son 7 u 8 opciones, que podrian elegir todas como solo podrian ser 2.
Mi problema es ese, no se como ingresar esa informacion en un campo y luego mostrarla.

Un saludo
  #8 (permalink)  
Antiguo 21/12/2004, 05:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si sólo lo requieres para registro/mostrar ..

Como ya te he comentado puedes usar un sólo campo de tu BD de tu tabla .. de tipo VARCHAR .. ahí guardas tus valores de los checkbox separados por comas para que luego puedas "desglosarlos" usando como separador el caracter que uses (coma en este caso) y la función de PHP explode()

En la FAQ que te dejé el link veras que la forma de trabajar más cómoda para estas taréas es usar sintax para tus nombres de tus checkbox tipo:

<input type="checkbox" name="selecciones[]" value="el que sea">
<input type="checkbox" name="selecciones[]" value="el que sea2">
<input type="checkbox" name="selecciones[]" value="el que sea3">

Para que en PHP puedas tomar ese array que estás generando ahí.

A su vez . .usando la función implode de PHP puedes hacer todo el proceso de una (juntar esos valores y separarlos por comas):

$checkboxs=implode (',',$_POST['selecciones']);

y con ese $checkboxs .. te vas a tu INSERT o UPDATE y lo ingresas en el campo que destines para tal fin de tipo VARCHAR:

Código PHP:
$sql="INSERT INTO tabla (campo1,campocheckboxs,etc) VALUES ('blabla',$checkboxs,'blabla');

etc ... 
Para recuperarlo .. lees ese campo de tu tabla y le aplicas un explode() .. pues lo que vas a guardar en ese campo será una cadena tipo:

valor1,valor2,valorN .. o similar ... de esos valores de tus checkbox seleccionados.

Un saludo,
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 13:36.