Edición de «Ejemplo de reCAPTCHA en KumbiaPHP v2»

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 37: Línea 37:
 
     */
 
     */
 
     private static $_privateKey = 'TU_CLAVE_PRIVADA';   
 
     private static $_privateKey = 'TU_CLAVE_PRIVADA';   
    /**
 
    * Errores del reCaptcha
 
    */
 
    private static $_error = NULL;
 
  
 
     /**
 
     /**
 
     * Genera el HTML con el código reCaptcha
 
     * Genera el HTML con el código reCaptcha
 
     *  
 
     *  
 +
    * @param $error
 
     * @return string  
 
     * @return string  
 
     */
 
     */
     public static function html()
+
     public static function html($error = NULL)
 
     {
 
     {
         return recaptcha_get_html(self::$_publicKey, self::$_error);
+
         return recaptcha_get_html(self::$_publicKey, $error);
 
     }
 
     }
 
     /**
 
     /**
 
     * Valida que el código colocado sea el correcto
 
     * Valida que el código colocado sea el correcto
     * @return boolean
+
     * @return Response
 
     */
 
     */
     public static function isValid()
+
     public static function validate()
 
     {
 
     {
 
         $ret = recaptcha_check_answer (self::$_privateKey,
 
         $ret = recaptcha_check_answer (self::$_privateKey,
Línea 61: Línea 58:
 
                 $_POST['recaptcha_challenge_field'],
 
                 $_POST['recaptcha_challenge_field'],
 
                 $_POST['recaptcha_response_field']);
 
                 $_POST['recaptcha_response_field']);
         if ( $ret->is_valid ){
+
 
            return TRUE;
+
         return $ret;
        }else{
 
            self::$_error = $ret->error;
 
            return FALSE;
 
        }
 
 
     }
 
     }
 
}
 
}
Línea 87: Línea 80:
 
                 {
 
                 {
 
// Realizamos la comprobacion
 
// Realizamos la comprobacion
                         if (reCaptcha::isValid() {
+
                         $ret = reCaptcha::validate();
 +
                        if ($ret->is_valid) {
 
$this->Datos = Input::post('Datos');
 
$this->Datos = Input::post('Datos');
 
View::select("validado");
 
View::select("validado");
 
}
 
}
 +
// Enviamos el error a la vista
 +
$this->previousError = $ret->error;
 +
                }else{
 +
                        //si no se ha enviando el captcha declaramas la variable a NULL
 +
                        $this->previousError = NULL;
 
                 }
 
                 }
 
         }
 
         }
Línea 104: Línea 103:
 
echo Form::text('Datos.nombre');
 
echo Form::text('Datos.nombre');
  
echo reCaptcha::html();
+
echo reCaptcha::html($previousError);
  
 
echo Form::submit('Enviar datos');
 
echo Form::submit('Enviar datos');

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: