Foros del Web » Programando para Internet » PHP »

Integrando recaptcha en mi formulario.

Estas en el tema de Integrando recaptcha en mi formulario. en el foro de PHP en Foros del Web. Estimados, tenia programado ya un formulario de contacto en php, por cuestiones de seguridad decidi integrarle reCaptcha. Ya esta todo instalado en el servidor y ...
  #1 (permalink)  
Antiguo 26/02/2010, 14:37
Avatar de Wonza99  
Fecha de Ingreso: marzo-2009
Mensajes: 54
Antigüedad: 15 años, 1 mes
Puntos: 0
Integrando recaptcha en mi formulario.

Estimados, tenia programado ya un formulario de contacto en php, por cuestiones de seguridad decidi integrarle reCaptcha.

Ya esta todo instalado en el servidor y configurado, el cuadro reCaptcha se muestra correctamente, el problema es que en caso de ingresar mal el captcha, el codigo esta programado para que muestre en la misma pagina del formulario un mensaje.

Código PHP:
 if ($captcha_respuesta->is_valid) {
      
//todo correcto
      //hacemos lo que se deba hacer una vez recibido el formulario válido
      
echo "Todo OK";
   }
   else{
      
//El código de validación de la imagen está mal escrito.
      
echo "El código ingresado no es correcto.";
      
$error_captcha $captcha_respuesta->error;
   }

El problema es que el formulario esta programado para que por ejemplo en el caso de no ingresar ningun texto en el campo Nombre se abra una ventana con la alerta correspondiente.

Código:
<script>
function validar(email, ciudad, nombre, consulta)
{
 if(nombre=="")
 {
  alert("No ha ingresado su nombre.");
  return false;
 }</script>
Mi problema se da en el envio del e-mail con los datos de contactos ya que el form esta programado para ir a la pagina gracias.php en donde la misma contiene el codigo de envio.

Código:
<form action="gracias.php" method="post" onSubmit="return validar(post_email.value, post_telefono.value, post_nombre.value,post_mensaje.value);">
Me pregunto cual es la alternativa mas simple para poder implementar el captcha en mi formulario.

Desde ya, muchas gracias.
  #2 (permalink)  
Antiguo 26/02/2010, 15:16
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 5 meses
Puntos: 0
Respuesta: Integrando recaptcha en mi formulario.

Puedes usar otras alternativas de Captcha mas flexibles como por ejemplo:
http://www.phpcaptcha.org/

Aqui te explican como implementarlo:
http://www.phpcaptcha.org/documentation/quickstart/


Y basicamente el control de si captcha fue o no escrito es simple :

Código PHP:
Ver original
  1. if ($securimage->check($_POST['captcha_code']) == false) {
  2.   // the code was incorrect
  3.   // handle the error accordingly with your other error checking
  4.  
  5.   // or you can do something really basic like this
  6.   die('The code you entered was incorrect.  Go back and try again.');
  7. }
Te lo recomiendo, yo lo uso y es bueno, ademas que recaptcha tiene esa tremenda caja con sus textos, etc, si es que no lo usas por la API sin embargo este otro es mas editable.

suerte.
__________________
ChilenoCesar Looking for something new...
  #3 (permalink)  
Antiguo 26/02/2010, 15:57
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 5 meses
Puntos: 0
Respuesta: Integrando recaptcha en mi formulario.

Por si acaso aqui hay uno mas simple todavia, Captcha en 5 lineas de PHP:

http://www.nodstrum.com/2007/09/23/captcha/
__________________
ChilenoCesar Looking for something new...
  #4 (permalink)  
Antiguo 26/02/2010, 18:05
Avatar de Wonza99  
Fecha de Ingreso: marzo-2009
Mensajes: 54
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Integrando recaptcha en mi formulario.

Gracias por el aporte CHILENOCES, te comento que probe con phpcaptcha.org y no me dio resultado (a pesar de seguir la guia paso a paso) es por eso que pase a tratar de integrar reCaptcha y hasta el momento pude hacerlo correr sin problemas, el tema es que mi formulario esta funcionando con 2 paginas. 1 que muestra el formulario y otra denominada gracias.php que es la encargada de enviar la información que se completa en el formulario.

Lo que no logro hacer es que muestre el mensaje de error cuando se ingresa mal el captcha evitando el envio del contenido del formulario por e-mail.

Etiquetas: recaptcha, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:26.