Foros del Web » Programando para Internet » PHP »

Problema con formulario html y php

Estas en el tema de Problema con formulario html y php en el foro de PHP en Foros del Web. Amigos He recurrido a ustedes para ver si me pueden ayudar, tengo un formulario en html y tengo un problema con los checkboxes, no me ...
  #1 (permalink)  
Antiguo 14/06/2011, 13:03
 
Fecha de Ingreso: mayo-2011
Mensajes: 101
Antigüedad: 12 años, 11 meses
Puntos: 5
Problema con formulario html y php

Amigos

He recurrido a ustedes para ver si me pueden ayudar, tengo un formulario en html y tengo un problema con los checkboxes, no me llegan a mi correo, solo llega el cuerpo y no el resultado si selecciono un items, aqui les dejo los codigos.

HTML
Código HTML:
<form action="envioretiros.php" method="post" enctype="application/x-www-form-urlencoded" name="form1" class="retiros_label" id="form1">
                    <p><span class="retiros_label">Nombre (*)</span>
                      <input name="name" type="text" class="retiros" id="name" />
                    </p>
                    <p><span class="retiros_label">Empresa (*)</span>
                      <input name="company" type="text" class="retiros" id="company" />
                    </p>
                    <p><span class="retiros_label">Email(*)</span>
                      <input name="email" type="text" class="retiros" id="email" />
                    </p>
                    <h3 class="h3_retiros">Selecciona tu Residuo</h3>
                    <p>
                      <label class="retiros_residuos">
<input name="residuo[]" type="checkbox" id="carton" value="carton" />
Cart&oacute;n </label>
                      <br />
                      <label class="retiros_residuos">
                        <input  name="residuo[]" type="checkbox" value="papel" id="papel" />
                        Papel</label>
                      <br />
                      <label class="retiros_residuos">
                        <input type="checkbox" name="residuo[]" value="plasticofilm" id="plasticofilm" />
                        Pl&aacute;stico Film</label>
                      <br />
                      <label class="retiros_residuos">
                        <input type="checkbox" name="residuo[]" value="botellaspet" id="botellaspet" />
                        Botellas Pet</label>
                      <br />
                      <label class="retiros_residuos">
                        <input type="checkbox" name="residuo[]" value="latas" id="latas" />
                        Latas </label>
                      <br />
                      <label class="retiros_residuos">
                        <input type="checkbox" name="residuo[]" value="otros" id="otros" />
                        Otros</label>
                      <br />
                      </p>
                      <p><span class="retiros_label">Otros Residuos</span>
                        <input name="otrosresiduos" type="text" class="retiros" id="name" />
                      </p>
                      <p><span class="retiros_label">dirección de retiro (*)</span>
                        <input name="adress" type="text" class="retiros" id="adress" /><br />
					  </p>
                      <p><span class="retiros_label">fecha de retiro (*)</span>
                        <input name="fecha" type="text" class="retiros" id="fecha" value="" />
                        </p>
                       <p><span class="retiros_label">Comentarios</span>
                         <textarea name="coment" class="retiros" id="coment"></textarea>
                       </p>
                       <p>
                       <input name="submit" type="submit" class="retiros_input" id="submit" tabindex="5" value="Enviar" />
                       </p> 
PHP
Código PHP:
$nombre $_POST['name'];  
    
$empresa $_POST['company']; 
    
$email $_POST['email']; 
    
$residuo $_POST ["checkbox"]['carton']; 
    
$residuo$_POST ["checkbox"]['papel']; 
    
$residuo $_POST ["checkbox"]['plasticofilm']; 
    
$residuo $_POST ["checkbox"]['botellaspet']; 
    
$residuo $_POST ["checkbox"]['latas']; 
    
$residuo $_POST ["checkbox"]['otros']; 
    
$otrosresiduos $_POST['otrosresiduos']; 
    
$adress $_POST['adress']; 
    
$fecha $_POST['fecha']; 
    
$coment $_POST['coment']; 
    
    
/* Definimos el correo donde enviaremos el mensaje y el asunto */
    
    
$destino "xxxxxxxxxxxxxxxxxxxxx";
    
$asunto "Contacto sitio Web Recupac";
    
    
/* Definimos el formato del mensaje a enviar */
    
    
$cuerpo =  "<strong>Nombre: </strong>".$name."<br />
               <strong>Empresa: </trrong>"
.$company."<br />
               <strong>Correo: </strong>"
.$email."<br />
               <strong>Residuo seleccionado: "
.$residuo."<br />
               <strong>Residuo seleccionado: "
.$residuo."<br />
               <strong>Residuo seleccionado: "
.$residuo."<br />
               <strong>Residuo seleccionado: "
.$residuo."<br />
               <strong>Residuo seleccionado: "
.$residuo."<br />
               <strong>Residuo seleccionado: "
.$residuo."<br />
               <strong>Especificación otros: "
.$otrosresiduos."<br />           
               <strong>EDireccion de retiro: "
.$adress."<br />
               <strong>Fecha de retiro: "
.$fecha."<br />
               <strong>Mensaje:"
.$coment;
    
    
/* Definimos las cabeceras del mensaje */
    
    
$cabecera "MIME-Version: 1.0\r\n";
    
$cabecera .= "Content-type:text/html; charset=iso-8859-1\r\n";
    
$cabecera .= "From: $correo\r\n";
    
$cabecera .= "Reply-to: $correo\r\n";
    
$cabecera .= "Cc: $correo\r\n";
    
    
/* Enviamos vía correo, devolviendo un mensaje en caso de éxito o falla */ 
    
    
if(mail($destino$asunto$cuerpo$cabecera)) {
        echo 
'Su mensaje ha sido enviado. De ser necesario, nos pondremos en contacto con Ud.';
    }
    else {
        echo 
'No se pudo enviar el mensaje. Int&eacute;ntelo nuevamente';
    } 
Espero que me ayuden

gracias,
  #2 (permalink)  
Antiguo 14/06/2011, 13:24
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Problema con formulario html y php

Si es lo que me imagino, debes saber que los checkboxes que se dejen din palomear (sin marcar) no se envían en el formulario, por lo que cuando los recibes en php simplemente no contienen información (valor).

Si siempre van a tener valores fijo, puede verificar si la variable está vacía o no:

if($_POST["micheckbox"]==null)
echo "opcion 1: NO";
else
echo "opcion 1:SI";

Caso contrario, podrías manejar selects con opciones si/no en vez de checkbox
  #3 (permalink)  
Antiguo 14/06/2011, 13:24
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Problema con formulario html y php

La variable $residuo es un array, no la puedes imprimir como lo estás haciendo. Tendrás que crear un bucle y extraer cada elemento del array.
  #4 (permalink)  
Antiguo 14/06/2011, 13:28
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Problema con formulario html y php

Perdón, me refería a la variable $_POST[residuo]

Se podría hacer algo así:

Código PHP:
 $residuo=$_POST["residuo"];

$cuerpo =  "<strong>Nombre: </strong>".$name."<br /> 
               <strong>Empresa: </trrong>"
.$company."<br /> 
               <strong>Correo: </strong>"
.$email."<br />";

foreach(
$residuo as $valor){
    
$cuerpo .= "<strong>Residuo seleccionado: ".$valor."<br />";
}

$cuerpo .= "<strong>Especificación otros: ".$otrosresiduos."<br />            
               <strong>EDireccion de retiro: "
.$adress."<br /> 
               <strong>Fecha de retiro: "
.$fecha."<br /> 
               <strong>Mensaje:"
.$coment
No he probado si funciona, pero sería algo así.

Última edición por Nexus10; 14/06/2011 a las 14:05
  #5 (permalink)  
Antiguo 14/06/2011, 14:24
 
Fecha de Ingreso: mayo-2011
Mensajes: 101
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Problema con formulario html y php

Amigos

Ya encontré la solución para los que quieran hacer este mismo checkbox y despueslo quieran enviar esto es lo que tienen que hacer.

HTML
Cita:
<input name="carton" type="checkbox" id="carton" value="carton" />
Cart&oacute;n </label>
<br />
<label class="retiros_residuos">
<input name="papel" type="checkbox" value="papel" id="papel" />
Papel</label>
<br />
<label class="retiros_residuos">
<input type="checkbox" name="plasticofilm" value="plasticofilm" id="plasticofilm" />
Pl&aacute;stico Film</label>
<br />
<label class="retiros_residuos">
<input type="checkbox" name="botellaspet" value="botellaspet" id="botellaspet" />
Botellas Pet</label>
<br />
<label class="retiros_residuos">
<input type="checkbox" name="latas" value="latas" id="latas" />
Latas </label>
<br />
<label class="retiros_residuos">
<input type="checkbox" name="otros" value="otros" id="otros" />
Otros</label>
<br />
van reemplazando solo las variables:

PHP
Recepcionamos los datos enviados asincrónicamente
Cita:
$carton = $_POST ['carton'];
$papel= $_POST ['papel'];
$plasticofilm = $_POST ['plasticofilm'];
$botellaspet = $_POST ['botellaspet'];
$latas = $_POST ['latas'];
$otros = $_POST ['otros'];
Cita:
<strong>Residuo seleccionado: ".$carton."<br />
<strong>Residuo seleccionado: ".$papel."<br />
<strong>Residuo seleccionado: ".$plasticofilm."<br />
<strong>Residuo seleccionado: ".$botellaspet."<br />
<strong>Residuo seleccionado: ".$latas."<br />
<strong>Residuo seleccionado: ".$otros."<br />
Espero que les sirba

Etiquetas: ayuda-general, html, formulario
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 12:40.