arrilot/google-recaptcha

0.1 2018-02-08 12:09 UTC

This package is auto-updated.

Last update: 2024-12-21 00:59:29 UTC


README

Latest Stable Version Total Downloads Build Status

Abstraction Layer for google reCAPTCHA 2

Installation

  1. composer require arrilot/google-recaptcha

  2. Somewhere during bootstrap

\Arrilot\GoogleRecaptcha\Recaptcha::getInstance()
    ->setPublicKey('6Lf1_...')
    ->setSecretKey('6Lf1_...')
    ->setLanguage('ru');

Usage example

<?php

function recaptcha()
{
    return \Arrilot\GoogleRecaptcha\Recaptcha::getInstance();
}
?>

<? if (isset($_POST['g-recaptcha-response'])): ?>

    <h2>POST data</h2>
    <kbd><pre><? var_export($_POST); ?></pre></kbd>
    <? if (recaptcha()->verify()): ?>
        <h2 style="color:green">Success!</h2>
    <? else: ?>
        <h2 style="color:red">Something went wrong</h2>
        <pre><? var_export(recaptcha()->getErrors()); ?></pre>
    <? endif ?>

<? else: ?>

    <p>Complete the reCAPTCHA then submit the form.</p>
    <form action="/captcha/index2.php" method="post">
        <fieldset>
            <legend>An example form</legend>
            <p>Example input A: <input type="text" name="ex-a" value="foo"></p>
            <p>Example input B: <input type="text" name="ex-b" value="bar"></p>
            
            <?= recaptcha()->getHtml(['size' => 'compact']) ?>
            <?= recaptcha()->getScript() ?>
            <p><input type="submit" value="Submit" /></p>
        </fieldset>
    </form>

<?endif; ?>