google recaptcha

git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3464 f459cee4-fb09-11de-96c3-f9c5f16c3c76
This commit is contained in:
adametz 2018-09-07 12:25:02 +00:00
parent ad4dff526c
commit 3cb28e108b
2 changed files with 44 additions and 2 deletions

View file

@ -12,11 +12,18 @@
werden uns dann umgehend bei Ihnen melden. Ihre Daten (Name, Telefonnummer etc.) werden ausschließlich zur
Bearbeitung Ihrer Anfrage verwendet und nicht an Dritte weitergegeben.
</p>
<script src='https://www.google.com/recaptcha/api.js'></script>
<div id="contact_form" class="contact_form">
<form id="contactform" action="/kontakt" name="contactform" method="post" data-toggle="validator">
{% if re_error != "" %}
<div class="alert alert-danger" style="margin-bottom: 0px;padding: 10px 15px;">
{{ re_error }}
</div>
<br>
{% endif %}
<div class="form-box">
<div class="col-md-12 col-sm-12 col-xs-12">
<h2>Reisedaten</h2>
@ -108,6 +115,18 @@
</div>
<div class="col-md-12 col-sm-12 col-xs-12">
{% if re_error != "" %}
<div class="alert alert-danger" style="margin-bottom: 0px;padding: 10px 15px;">
{{ re_error }}
</div>
<br>
{% endif %}
<div class="g-recaptcha" data-sitekey="6LfjBm8UAAAAAIN68ozw90OctADqjXSv7O-E_epJ"></div>
<br clear="all">
</div>
<div class="col-md-12 col-sm-12 col-xs-12">
<button type="submit" value="SEND" id="submit" class="aligncenter btn btn-primary btn-lg border-radius">Anfrage absenden</button>
</div>
</div><!-- end form-box -->

View file

@ -291,11 +291,33 @@ class DefaultController extends Controller
$form = $this->createForm(ContactRequestType::class);
$breadcrumbEntries = [new BreadcrumbEntry('Kontaktformular')];
$re_error = "";
if ($request->getMethod() == 'POST')
{
$error = false;
if(empty($request->get('g-recaptcha-response'))){
$re_error = 'Bitte lösen Sie das reCAPTCHA.';
$error = true;
}
//your site secret key
$secret = '6LfjBm8UAAAAANKNzGhSiMaoEg9mUswlaZkOHgI4';
//get verify response data
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$request->get('g-recaptcha-response'));
$responseData = json_decode($verifyResponse);
if($responseData->success != true ){
$re_error = 'Bitte lösen Sie das reCAPTCHA';
$error = true;
}
$form->handleRequest($request);
if ($form->isValid())
if ($form->isValid() && !$error)
{
/** @var ContactRequest $contactRequest */
$contactRequest = $form->getData();
@ -336,6 +358,7 @@ class DefaultController extends Controller
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'breadcrumb_entries' => $breadcrumbEntries,
'contact_form' => $form->createView(),
're_error' => $re_error,
]);
}