Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/08/2009, 10: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
Respuesta: Problemas con Envio de Formulario Php con Checkbox

Hola Jonatanc gracias por responder, si aquí en contre este enlace http://www.forosdelweb.com/f18/faqs-...tml#post518710 lo probe haciendo array por ejemplo defini los checkbox asi, cada con un valor diferente pero con name e id igual
Código HTML:
<input name="tour[]" type="checkbox" class="stcajatexto" id="tour" value="Cusco"> 
Pero como mi formulario antes de enviarse debe ir a un js que lo valida (pues se valida mediante captcha) entonces mi función lo cambia asi que esta en el archivo "c-funciones-prueba.js" pero al hacer esto creo que malogra tosas las funciones porque ya no se ve el captcha
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<=tour.lengthi++)
                {
                        
"&tour=" encodeURIdocument.getElementById("tour").value )+
                }
              
"&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 en mi php que despues de validado envia el mensaje que se llama "c-envio-prueba.php" cambia el código así
Código PHP:
<?
        $email_recipient     
'[email protected]';

        
session_start();
        
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>';
        }
?>
Pero aín no logro mi cometido, alguna sintaxis estara mal o estoy obviando algo, por favor les pido su ayuda porque soy muy nuevo con php, muchas gracias.

Última edición por salvador86; 01/08/2009 a las 10:40 Razón: editar