Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2009, 11:23
Avatar de salvador86
salvador86
 
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 4 meses
Puntos: 2
Problema con bucle en evio de checkbox Php

Hola, recien estoy empezando ha realizar páginas con Php, por lo que espero me puedan ayudar, resulta que tengo un formulario, este de prueba http://www.peru-expeditions.com/c-prueba.php que recoge los valores en un ajax que lo valida (pues estoy usando Captcha) y envia los valores del formulario a php que finalmente hace llegar el mensaje a un correo (Ya esta en uso ej: http://www.peru-expeditions.com/c-solicitud.php), pero como ahora quiero poner en el checkbox que si algunos de ellos esten seleccionado se envie en el mensaje sus valores, he probado modificando el código pero aun no lo termino, el problema parece ser el bucle del php. Voy a poner el código para que me puedan asesorar Asi defino lo checkbox en mi formulario.
Código HTML:
<input name="tour[]" type="checkbox" class="stcajatexto" id="tour0" value="Cusco"> 

<input name="tour[]" type="checkbox" class="stcajatexto" id="tour1" value="Arequipa"> etc...
En mi ajax esta funciones validan los valores
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++){
                                      if (
document.getElementById("tour"+i).checked)
                                            
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);
        } 
Y mi php que finalmente envia el mensaje
Código PHP:
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"
Les agradecere mucho ayuda, gracias