Add your site to the sitelist in reCAPTCHA administration.
The latest version is most suitable for Nette 2.4 and PHP >=5.6.
composer require contributte/recaptcha
extensions:
recaptcha: Contributte\ReCaptcha\DI\ReCaptchaExtension
recaptcha:
secretKey: ***
siteKey: ***
use Nette\Application\UI\Form;
protected function createComponentForm()
{
$form = new Form();
$form->addReCaptcha('recaptcha', $label = 'Captcha')
->setMessage('Are you a bot?');
$form->addReCaptcha('recaptcha', $label = 'Captcha', $required = FALSE)
->setMessage('Are you a bot?');
$form->addReCaptcha('recaptcha', $label = 'Captcha', $required = TRUE, $message = 'Are you a bot?');
$form->onSuccess[] = function($form) {
dump($form->getValues());
}
}
<form n:name="myForm">
<div class="form-group">
<div n:name="recaptcha"></div>
</div>
</form>
Be sure to place this script before the closing tag of the body
element (</body>
).
<!-- re-Captcha -->
<script src='https://www.google.com/recaptcha/api.js'></script>
use Nette\Application\UI\Form;
protected function createComponentForm()
{
$form = new Form();
$form->addInvisibleReCaptcha('recaptcha')
->setMessage('Are you a bot?');
$form->addInvisibleReCaptcha('recaptcha', $required = FALSE)
->setMessage('Are you a bot?');
$form->addInvisibleReCaptcha('recaptcha', $required = TRUE, $message = 'Are you a bot?');
$form->onSuccess[] = function($form) {
dump($form->getValues());
}
}
Be sure to place this script before the closing tag of the body
element (</body>
).
Copy assets/invisibleRecaptcha.js and link it.
<script src="https://www.google.com/recaptcha/api.js?render=explicit"></script>
<script src="{$basePath}/assets/invisibleRecaptcha.js"></script>