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

Cita:
Iniciado por s00rk Ver Mensaje
Tambien podrias hacer un captcha de numeros de alguna suma algo asi supongo:

Formulario:
Código PHP:
<?php
session_start
();
$_SESSION['num1'] = mt_rand(1,100);
$_SESSION['num2'] = mt_rand(1,100);
?>
 <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>
      <!-- end page validaton -->
      <!-- next page buttons -->
    </p>
    <p>
      
      Resuelve:
      <?=$_SESSION['num1']?> + <?=$_SESSION['num2']?> : <input type="text" name="captch" />
      <input id="saveForm" class="mainForm" type="submit" value="Submit" />
    </p>
  </form>
Y el PHP algo asi:
Código PHP:
  <?php
  session_start
();
$n = ($_SESSION['num1']+$_SESSION['num2']);
if (!
$n == $_POST['captch']) { 
die (
"La suma es incorrecta"); 


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

mail("[email protected]","Day Tours Barcelona Contact & 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");

?>
No me funciona, no me aparecen los números -_- gracias, me echas un cable?