Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/05/2011, 11:29
Hyde
 
Fecha de Ingreso: octubre-2009
Mensajes: 38
Antigüedad: 14 años, 6 meses
Puntos: 0
¿Como integrar reCaptcha en un formulario?

Hola! hace un tiempo hice un formulario ayudándome de Dreamweaver con un php muy sencillo para mi web de turismo pero por culpa de un masivo envío de spam a través de mi formulario, me he visto obligado a poner captcha, pero no tengo ni idea.

Mi formulario es:

Código HTML:
<form method="post" enctype="multipart/form-data" action="processor.php" onsubmit="return validatePage1();">
    <p>
      <label class="formFieldQuestion">
      · Contact name:&nbsp;<br />
      </label>
      <input class="mainForm" type="text" name="field_1" id="field_1" size='30' value='' />
      <label class="formFieldQuestion"><br />
        <br />
        · Phone number:&nbsp;<br />
      </label>
      <input class="mainForm" type="phone" name="field_2" id="field_2" size="25" value="" style="background-image:url(imgs/phone.png); background-repeat: no-repeat;  padding: 2px 2px 2px 25px;" />
    </p>
    <p>
      <label class="formFieldQuestion">· Email:&nbsp;<br />
      </label>
      <input class="mainForm" type="email" name="field_3" id="field_3" size="25" value="" style="background-image:url(imgs/email.png); background-repeat: no-repeat;  padding: 2px 2px 2px 25px;" />
    </p>
    <p>
      <label class="formFieldQuestion">· Numer of people<br />
        &nbsp;</label>
      <input class="mainForm" type="text" name="field_4" id="field_4" size='30' value='' />
    </p>
    <p>
      <label class="formFieldQuestion">· Type of service: &nbsp;<br />
      </label>
      <select class="mainForm" name="field_5" id="field_5">
        <option value=''></option>
        <option value="Girona">Girona</option>
        <option value="Sitges">Sitges</option>
        <option value="Montserrat + Cavas Penedes">Montserrat + Cavas Penedes</option>
        <option value="Cavas Penedes">Cavas Penedes</option>
        <option value="Montserrat Tour">Montserrat Tour</option>
        <option value="Modernism Tour">Modernism Tour</option>
        <option value="Artistic Tour">Artistic Tour</option>
        <option value="Walking Tour">Walking Tour</option>
        <option value="City Tour Barcelona">City Tour Barcelona</option>
        <option value="Transfer in/out">Transfer in/out</option>
        <option value="Figueres (Dalí Museum)">Figueres (Dalí Museum)</option>
        <option value="Tarragona">Tarragona</option>
        <option value="Cadaques &amp; Portlligat">Cadaques &amp; Portlligat</option>
        <option value="Other City Tour">Other City Tour</option>
        <option value="Other Outside City Tour">Other Outside City Tour</option>
        <option value="Other Service">Other Service</option>
      </select>
    </p>
    <p>
      <label class="formFieldQuestion">· Pick-up hour:&nbsp;<br />
      </label>
      <input class="mainForm" type="text" name="field_6" id="field_6" size='30' value='' />
    </p>
    <p>
      <label class="formFieldQuestion">· Pick-up place:<br />
        &nbsp;</label>
      <input class="mainForm" type="text" name="field_7" id="field_7" size='30' value='' />
    </p>
    <p>
      <label class="formFieldQuestion">· Explain your needs: &nbsp;<br />
      </label>
      <textarea class="mainForm"  name="field_8" id="field_8" rows="5" cols="23"></textarea>
      <script type="text/javascript">
        <!--
            function validatePage1()
            {
                retVal = true;
                if (validateField('field_1','fieldBox_1','text',1) == false)
 retVal=false;
if (validateField('field_2','fieldBox_2','phone',1) == false)
 retVal=false;
if (validateField('field_3','fieldBox_3','email',1) == false)
 retVal=false;
if (validateField('field_4','fieldBox_4','text',1) == false)
 retVal=false;
if (validateField('field_5','fieldBox_5','menu',1) == false)
 retVal=false;
if (validateField('field_6','fieldBox_6','text',1) == false)
 retVal=false;
if (validateField('field_7','fieldBox_7','text',1) == false)
 retVal=false;
if (validateField('field_8','fieldBox_8','textarea',1) == false)
 retVal=false;

                if(retVal == false)
                {
                    alert('Please correct the errors.  Fields marked with an asterisk (*) are required');
                    return false;
                }
                return retVal;
            }
        //-->
            </script>
          </p>
    <p>
      <input id="saveForm" class="mainForm" type="submit" value="Submit" />
    </p>
  </form> 
Y por otro lado, mi php me ayudásteis hace mucho tiempo a hacerlo y es:

Código PHP:
<?php

$where_form_is
="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));

mail("[email protected]","Day Tours Barcelona Contac & Booking","Form data:

· Contact name:: " 
$_POST['field_1'] . 
· Phone number:: " 
$_POST['field_2'] . 
· Email:: " 
$_POST['field_3'] . 
· Numer of people: " 
$_POST['field_4'] . 
· Kind of service: : " 
$_POST['field_5'] . 
· Hour of pick up:: " 
$_POST['field_6'] . 
· Place of pick up:: " 
$_POST['field_7'] . 
· Explain your needs: : " 
$_POST['field_8'] . 



"
);

include(
"confirm.html");

?>
He estado mirando reCaptcha y bueno, me he registrado y he intentado utilizar varios tutoriales pero nada. Ya tengo mis dos Keys, pública y privada y la librería php que utiliza el captcha y siguiendo varios tutoriales (no me deja poner links no sé por qué) tampoco he podido.

¿Alguien me echa una mano?? me han vetado todas mis webs por culpa de que algún robot ha utilizado mi formulario para spam y debo solucionar esto, lo que pasa es que no tengo ni idea... y siempre acabo recurriendo a vosotros jejeje ¡¡gracias!!.

Última edición por Hyde; 09/05/2011 a las 11:43