Edición de «Ejemplo de reCAPTCHA en KumbiaPHP»

De KumbiaPHP Framework Wiki

Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 12: Línea 12:
  
 
== Pasos ==
 
== Pasos ==
* Creamos un controlador, ''app/controllers/captcha_controller.php''. para el captcha:
+
* Creamos un controlador para el captcha:
 
<source lang=php >
 
<source lang=php >
 
<?php
 
<?php
Línea 61: Línea 61:
  
  
* Por último, creamos la vista, ''app/views/captcha/index.phtml'':
+
* Por último, creamos la vista:
 
<source lang=php >
 
<source lang=php >
 
<strong>Rellena el cuadro con tu nombre: </strong>
 
<strong>Rellena el cuadro con tu nombre: </strong>
Línea 80: Línea 80:
 
He metido los comentarios que creo necesarios, pero por si acaso, el funcionamiento es el siguiente:
 
He metido los comentarios que creo necesarios, pero por si acaso, el funcionamiento es el siguiente:
 
# Se carga la liberia, para tener las funciones disponibles. No usamos Load::Lib() porque KumbiaPHP espera que haya una clase definida, y no es el caso de la librería reCaptcha. Si en un futuro los desarrolladores de reCaptcha proporcionan una clase, lo haremos con Load::Lib(), pero el objetivo es usar la clase tal cual nos la den.
 
# Se carga la liberia, para tener las funciones disponibles. No usamos Load::Lib() porque KumbiaPHP espera que haya una clase definida, y no es el caso de la librería reCaptcha. Si en un futuro los desarrolladores de reCaptcha proporcionan una clase, lo haremos con Load::Lib(), pero el objetivo es usar la clase tal cual nos la den.
 +
 
# Generamos en index() el HTML necesario, y lo mostramos en la vista.
 
# Generamos en index() el HTML necesario, y lo mostramos en la vista.
 +
 
# El formulario nos envia a comprobar(), la cual comprueba si hemos recibido una respuesta (vía POST) del formulario.
 
# El formulario nos envia a comprobar(), la cual comprueba si hemos recibido una respuesta (vía POST) del formulario.
 +
 
# De haberla recibido, pedimos al API de reCapcha que nos compruebe la respuesta, El resultado lo tenemos en ''is_valid'', y el mensaje de error (si lo hubiera) en ''error''.
 
# De haberla recibido, pedimos al API de reCapcha que nos compruebe la respuesta, El resultado lo tenemos en ''is_valid'', y el mensaje de error (si lo hubiera) en ''error''.
 +
 
# Si la respuesta es válida, hariamos un redirect(), un route(), o grabariamos una sesion, cookie, etc. para seguir con nuestra aplicación. En caso contrario seguimos la ejecución.
 
# Si la respuesta es válida, hariamos un redirect(), un route(), o grabariamos una sesion, cookie, etc. para seguir con nuestra aplicación. En caso contrario seguimos la ejecución.
 +
 
# Posteriomente, si tuvieramos más datos del formulario (nombre, apellidos, telefono, mail, etc), los volvemos a cargar para que la vista los tenga. Esto lo hago porque si se rellenan 10 datos, pero falla el captcha, que el usuario no tenga que volver a rellenar todo otra vez.
 
# Posteriomente, si tuvieramos más datos del formulario (nombre, apellidos, telefono, mail, etc), los volvemos a cargar para que la vista los tenga. Esto lo hago porque si se rellenan 10 datos, pero falla el captcha, que el usuario no tenga que volver a rellenar todo otra vez.
 +
 
# Por último, generamos otro captcha para mostrarlo como siguiente prueba y llamamos a la misma vista, para no repetir.
 
# Por último, generamos otro captcha para mostrarlo como siguiente prueba y llamamos a la misma vista, para no repetir.
  

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)

Plantilla usada en esta página: