Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/08/2009, 17:07
Avatar de salvador86
salvador86
 
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Formulario con checkbox problema en bucle

Hola tengo este formulario http://www.peru-expeditions.com/c-prueba.php que contiene unos checkbox, yo deseo seg'un se seleccione se envie sus valores con el mensaje que se valida con Captcha así los defini:
Código HTML:
<input name="tour[]" type="checkbox" class="stcajatexto" id="tour0" value="Cusco"> 
y uso js (que valida el captcha y de alli se manda los valores a un php para su envio)
y asi lo declare el js:
Código PHP:
function get(obj) {
            var 
poststr "Nombre=" encodeURIdocument.getElementById("Nombre").value ) +
                                        
"&Correo=" encodeURIdocument.getElementById("Correo").value )+
                                        
"&Otros=" encodeURIdocument.getElementById("Otros").value );
                                for (
i=0i<=3i++)
                                {
                                        
poststr poststr "&tour[" "] = " encodeURIdocument.getElementById("tour"+i).value );
                                }
                    
poststr poststr "&capt=" encodeURIdocument.getElementById("capt").value )+
                                        
"&Submit=" encodeURIdocument.getElementById("Submit").value );
            
makePOSTRequest('captcha/c-envio-prueba.php'poststr);
        }

   function 
write_captcha(){
        
define('Nombre''string''Nombre');
        
define('Correo''email''E-mail');
       
clicks++;
       
document.getElementById('capt').value        ''
      
document.getElementById('captcha_id').innerHTML '<img src="captcha/captcha_img.php?clicks=' clicks '" border="0" alt="" /><a href="#" onclick="write_captcha();"><img src="gifs/refresh.gif" border="0" alt="" /></a>';
   return 
false;
   } 
y así el php
Código PHP:
<?
        session_start
();
        
        
$email_recipient     '[email protected]';

        
error_reporting(0);
        include(
"class/captchaZDR.php");

        
$capt = new captchaZDR;
        
$wrong_captcha     '';

        if(isset(
$_POST['Submit']) and $capt->check_result()){        
              
$message_send "Mensaje desde la página\n\n      
              Nombre: "
.$_POST['Nombre']." \n
              Correo: "
.$_POST['Correo']." \n
                Otros: "
.$_POST['Otros']." \n"
              
foreach ($_POST['tour'] as $id){
                   echo 
$id."<br>";
                }
                ;

                
$headers .= 'To: <'.$email_recipient.'>' "\r\n";
                
$headers .= 'From: '.$_POST['Nombre'].' <'.$_POST['Correo'].'>' "\r\n";

            if(
mail($email_recipient'SOLICITUD DE INFORMACION PERU EXPEDITIONS' $message_send$headers))
                        
header ("Location: http://www.peru-expeditions.com/c-gracias.html");
                else 
                        echo 
'<div style="color: red"><strong>Hubo un problema en el mensaje. Por favor, inténtelo de nuevo. Gracias.</strong></div>';  
        } 
        
        else{if(isset(
$_POST['Submit']) and (!$capt->check_result()) ) 
                echo 
'<div style="color: red"><b>Intente de nuevo. Actualizar:</b><a href="#" onclick="write_captcha();"><img src="gifs/refresh.gif" border="0" alt="" /></a></div>';
        }
?>
El objetivo es que se aisle los checkbox que no han sido seleccionados y solo enviar los valores de los checkbox seleccioandos, la mayoria del código lo saque del foro, espero su ayuda gracias