Foros del Web » Programando para Internet » PHP »

formulario php con casillas de verificación

Estas en el tema de formulario php con casillas de verificación en el foro de PHP en Foros del Web. Hola a todos. Soy totalmente ignorante en php, pero tengo un script php muy sencillo, sacado de algún tutorial, para enviar a mi mail los ...
  #1 (permalink)  
Antiguo 18/11/2012, 13:48
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
formulario php con casillas de verificación

Hola a todos. Soy totalmente ignorante en php, pero tengo un script php muy sencillo, sacado de algún tutorial, para enviar a mi mail los datos introducidos en un formulario web.
El problema es que ahora necesito incorporar varias casillas de verificación al formulario, y no sé como recoger esto en el archivo php. El formulario y el archivo php son los siguientes:

FORMULARIO-----

<form id="form1" name="form1" method="post" action="procesar.php">
<input name="formulario" type="hidden" value="formularioemprendedores" />
<input name="nombre" type="text" id="nombre" size="35" />
<input name="email" type="text" id="email" size="35" />
<input name="asunto" type="text" id="asunto" size="35" />
<textarea name="mensaje" cols="35" rows="5" id="mensaje"></textarea>
<input type="checkbox" name="tema[]" value="Casilla1">
<input type="checkbox" name="tema[]" value="Casilla2">
<input type="checkbox" name="tema[]" value="Casilla3">
<input type="submit" name="Submit" value="Enviar" />
</form>

PROCESAR.PHP------

<?php
$para = '[email protected]';

$asunto = $_POST["asunto"];
$mailheader = "From: ".$_POST["formulario"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Nombre: ".$_POST["nombre"]."<br>";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."<br>";
$MESSAGE_BODY .= "Asunto: ".$_POST["asunto"]."<br>";
$MESSAGE_BODY .= "Mensaje: ".nl2br($_POST["mensaje"])."<br>";
mail($para, $asunto, $MESSAGE_BODY, $mailheader) or die ("Error al enviar el Formulario !");

header( 'Location: http://www.miweb.com/enviado.html' )
?>

Si me pudiera ayudar alguien, me sacaría de un apuro. Muchas gracias!
  #2 (permalink)  
Antiguo 18/11/2012, 15:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: formulario php con casillas de verificación

Código HTML:
Ver original
  1. <input type="checkbox" name="tema1" id="tema1">
  2. <input type="checkbox" name="tema2" id="tema2">
  3. <input type="checkbox" name="tema3" id="tema3">


Código PHP:
Ver original
  1. ...
  2. $MESSAGE_BODY .= "Tema1: ".$_POST["tema1"]."<br>";
  3. ...

No se si te va a poner 1 o true o 0 false.

Si quieres maquillarlo solo tienes que cambiar el valor recibido por lo que quieras.


Código PHP:
Ver original
  1. $tema1="No";
  2. if($_POST["tema1"]) $tema1="Si";
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 19/11/2012 a las 01:42
  #3 (permalink)  
Antiguo 18/11/2012, 15:48
Avatar de feconto  
Fecha de Ingreso: noviembre-2012
Ubicación: En mi Mundo
Mensajes: 25
Antigüedad: 11 años, 5 meses
Puntos: 5
Respuesta: formulario php con casillas de verificación

yo creo que esta mal tu respuesta amigo

Código HTML:
Ver original
  1. <form method="post" action="robots.php">
  2.    
  3.     S.o Linux  :<input type="checkbox" name="so[]" value="linux"><br>
  4.     S.o Windows  : <input type="checkbox" name="so[]" value="windows"><br>
  5.     S.o Mac  :<input type="checkbox" name="so[]" value="mac"><br>
  6.         <input type="submit" name="enviar">
  7. </form>


codigo php de salida

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_POST['enviar']))
  4. {
  5.     foreach($_POST['so'] As $sistemas)
  6.     {
  7.         echo "selecciono los sistemas $sistemas <br>";
  8.     }
  9. }
  10. ?>



salida se si selecciona el formulario cuando se ejecuta de forma formateada
Código PHP:
Ver original
  1. (
  2.     [so] => Array
  3.         (
  4.             [0] => linux
  5.             [1] => windows
  6.             [2] => mac
  7.         )
  8.  
  9.     [enviar] => Submit Query
  10. )

la salida normal de este seria

Código text:
Ver original
  1. selecciono los sistemas linux
  2. selecciono los sistemas windows
  3. selecciono los sistemas mac
  #4 (permalink)  
Antiguo 19/11/2012, 04:21
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: formulario php con casillas de verificación

Muchas gracias, pero donde coloco estos trozos de código para que aparezca luego en el $MESSAGE_BODY??
Lo siento, pero es que mi nivel de php es nulo.
  #5 (permalink)  
Antiguo 19/11/2012, 07:13
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: formulario php con casillas de verificación

Código PHP:
Ver original
  1. ...
  2. $MESSAGE_BODY .= "Mensaje: ".nl2br($_POST["mensaje"])."<br>";
  3. if(isset($_POST['enviar']))
  4. {
  5.     foreach($_POST['so'] As $sistemas)
  6.     {
  7.         $MESSAGE_BODY .="selecciono los sistemas $sistemas <br>";
  8.     }
  9. }
  10. ...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #6 (permalink)  
Antiguo 19/11/2012, 13:04
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: formulario php con casillas de verificación

Cita:
Iniciado por quimfv Ver Mensaje
Código PHP:
Ver original
  1. ...
  2. $MESSAGE_BODY .= "Mensaje: ".nl2br($_POST["mensaje"])."<br>";
  3. if(isset($_POST['enviar']))
  4. {
  5.     foreach($_POST['so'] As $sistemas)
  6.     {
  7.         $MESSAGE_BODY .="selecciono los sistemas $sistemas <br>";
  8.     }
  9. }
  10. ...
Haciéndolo así no me aparece nada, mi nuevo código sería:

Código HTML:
Ver original
  1. <form id="form1" name="form1" method="post" action="procesar.php">
  2. <input name="formulario" type="hidden" value="formularioemprendedores" />
  3. <input name="nombre" type="text" id="nombre" size="35" />
  4. <input name="email" type="text" id="email" size="35" />
  5. <input name="asunto" type="text" id="asunto" size="35" />
  6. <textarea name="mensaje" cols="35" rows="5" id="mensaje"></textarea>
  7. <input type="checkbox" name="so[]" value="linux">
  8. <input type="checkbox" name="so[]" value="windows">
  9. <input type="checkbox" name="so[]" value="mac">
  10. <input type="submit" name="Submit" value="Enviar" />
  11. </form>

Código PHP:
Ver original
  1. <?php
  2. $para = '[email protected]';
  3.  
  4. $asunto = $_POST["asunto"];
  5. $mailheader = "From: ".$_POST["formulario"]."\r\n";
  6. $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
  7. $MESSAGE_BODY = "Nombre: ".$_POST["nombre"]."<br>";
  8. $MESSAGE_BODY .= "Email: ".$_POST["email"]."<br>";
  9. $MESSAGE_BODY .= "Asunto: ".$_POST["asunto"]."<br>";
  10. $MESSAGE_BODY .= "Mensaje: ".nl2br($_POST["mensaje"])."<br>";
  11. if(isset($_POST['enviar']))
  12. {
  13.     foreach($_POST['so'] As $sistemas)
  14.     {
  15.         $MESSAGE_BODY .="selecciono los sistemas $sistemas <br>";
  16.     }
  17. }
  18. mail($para, $asunto, $MESSAGE_BODY, $mailheader) or die ("Error al enviar el Formulario !");
  19.  
  20. header( 'Location: http://www.miweb.com/enviado.html' )
  21. ?>

Pero en el mail que recibo no aparece nada relativo a los checkbox, llega algo así:
Nombre: XXXX
Email: [email protected]
Asunto: El asunto que haya puesto
Mensaje: blablabla

Gracias por todo
  #7 (permalink)  
Antiguo 20/11/2012, 04:19
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: formulario php con casillas de verificación

¿Alguien que pueda ayudarme? Muchas gracias

Etiquetas: formulario, html
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 17:45.