Foros del Web » Programando para Internet » PHP »

Enviar formulario por mail, con info de checkboxes marcados

Estas en el tema de Enviar formulario por mail, con info de checkboxes marcados en el foro de PHP en Foros del Web. Hola amigos. bueno mi problema consiste en que quiero enviar los datos marcados en un formulario que tiene checkboxs.. me explico mejor, yo puedo tener ...
  #1 (permalink)  
Antiguo 19/11/2005, 13:37
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Enviar formulario por mail, con info de checkboxes marcados

Hola amigos.
bueno mi problema consiste en que quiero enviar los datos marcados en un formulario que tiene checkboxs.. me explico mejor, yo puedo tener en mi formulario 5 opciones (checkboxs) dispobibles para que el usuario escoja algunas (o todas si desea) y que estas opciones marcadas yo las pueda enviar por correo... el problema radica en que no puedo hacer eso (enviar los datos marcados por correo), puedo hacer que vengan todas opciones marcadas (en el array que creo como nombre de los checkboxs), y puedo extraerlas normalmente, pero no puedo separar cada valor marcado para enviarlo por correo electronico.. alguien tiene una idea ?
  #2 (permalink)  
Antiguo 19/11/2005, 15:48
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
Nadie?
mmm bueno, les explico mejor por si no lo hice :S.. lo que tengo que hacer es un esto:
tengo una pagina formulario.html y una pagina procesa_form.php, en la pagina formulario tengo inputs text, selects textareas y CHECKBOX! bueno, la pagina procesa_form.php va a recoger los valores ingresados en la pagina formulario.html y los va a enviar por correo electronico en formato html... les digo que no tengo problemas para enviar los datos, excepto con los checkbox, pues el usuario puede escoger muchos y al llegar la variable que contiene las opciones marcadas del checkbox en como array, a la pagina que "recoge y envia" los datos por correo electronico, no se como hacer para que dinamicamente me recupere los valores marcados.. aqui pongo el codigo para que me entiendan mejor:

Código PHP:
<?php
error_reporting
(E_ALL);

$nombre $_POST["nombre"];
$telefono $_POST["telefono"];
$correo $_POST["correo"];
$direccion $_POST["direccion"];
$ninvitados $_POST["ninvitados"];
$nespecifico $_POST["especifico"];
$dia $_POST["dia"];
$mes $_POST["mes"];
$anyo $_POST["anyo"];
$nadicionales $_POST["nadicionales"];
$registrado $_POST["registrado"];

$destinatario "[email protected]";
$asunto "Cotizaci&oacute;n";
$cuerpo "
            <html>
            <head>
            <title>envio de cotizacion</title>
            </head>
            <body>
            <b>Nombre / Razón Social:</b> $nombre<br>
            <b>Teléfono:</b>$telefono<br>
            <b>Correo Electronico:</b>$correo<br>
            <b>Dirección:</b> $direccion<br>
            <b>Tipo de Evento o Servicio a Cotizar:</b><br>"
.
            if (isset(
$_POST['evento']))
            {
              
$evento $_POST['evento'];
              
$n        count($evento);
              
$i        0;
              echo 
"Eventos Marcados \r\n";
              while (
$i $n)
              {
                  echo 
"$evento[$i] \r\n";
                  
$i++;
               }
             }.
"<br>
             <b>N&uacute;mero de Invitados:</b>$ninvitados<br>"
.
             if (!
$nespecifico){
                break;
              }
              else{
                echo 
"<b>Numero Espec&iacute;fico:</b>$nespecifico";
              }
             .
"
             <b>Fecha a Realizarse:</b> $dia / $mes / $anyo<br>
             <b>Notas Adicionales:</b> $nadicionales<br>
             <b>¿El usuario es registrado?</b> $registrado<br>
            
            </body>
            </html>
"
;

$headers "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

    
mail ($destinatario,$asunto,$cuerpo,$headers)or die("no se ha podido enviar el correo");
    echo 
"el mensaje fue enviado con exito";
?>
Como ven intente procesar dinamicamente el mensaje, pero me sale un error porque parece que no puedo contatenar un IF o un FOR con un texto :s... porfas si alguien sabe como digamelo, se que puede ser una pachotada, pero asi se aprende!... gracias a todos los participantes...

saludos!

Última edición por preguntoncio; 19/11/2005 a las 20:07
  #3 (permalink)  
Antiguo 19/11/2005, 19:54
Avatar de EdiWorks  
Fecha de Ingreso: marzo-2005
Ubicación: undefined
Mensajes: 64
Antigüedad: 12 años, 8 meses
Puntos: 0
Normalmente para enviar datos de un formulario con Checkboxes debes asignarle un nombre a estos como si fuesen una matriz, por ejemplo:

Código:
<input type="checkbox" name="myselection[]" value="perros">
<input type="checkbox" name="myselection[]" value="gatos">
<input type="checkbox" name="myselection[]" value="paajritos">
... etc

esto hará que php reconozca una matriz llamada $myselection en el archivo destino, a la cual una forma fácil de sacarle los datos es con la estructura:

Código:
foreach($myselection as $value) {
  echo "Proviene de checkbox: ".$value;
}
Imagino que no tendrás problemas con el foreach, hay varias formas de usarlo. Espero que te sirva esta información. Bye.
__________________
EdiWorks :adios:
=P
  #4 (permalink)  
Antiguo 19/11/2005, 20:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
mmm osea que con el foreach es la nota??? ... pero mmmm como puedo hacerlo??? osea, puedo incluir el foreach dentro de mi codigo para enviar????
  #5 (permalink)  
Antiguo 19/11/2005, 20:06
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
mmmm mi problema no es con crear el array de los checkboxes sino que me autogenere el codigo DENTRO del mensaje a enviar!.. osea, ¿puedo poner un foreach dentro para que me averigue cuales son las casillas marcadas sin que me bote un error???? mmmmm voy a probar..
  #6 (permalink)  
Antiguo 19/11/2005, 23:02
 
Fecha de Ingreso: marzo-2005
Mensajes: 67
Antigüedad: 12 años, 9 meses
Puntos: 0
mmmmm bueno ya lo solucione.. era mas facil de lo que creía (aveces la respuesta es muy muy practica).. lo que hice fue contatenar los checkboxes marcados en una sola variable y luego pego esa variable en el mensaje y nada mas!... saludos!
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 07:41.