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 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. Bearbeitung Ihrer Anfrage verwendet und nicht an Dritte weitergegeben.
</p> </p>
<script src='https://www.google.com/recaptcha/api.js'></script>
<div id="contact_form" class="contact_form"> <div id="contact_form" class="contact_form">
<form id="contactform" action="/kontakt" name="contactform" method="post" data-toggle="validator"> <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="form-box">
<div class="col-md-12 col-sm-12 col-xs-12"> <div class="col-md-12 col-sm-12 col-xs-12">
<h2>Reisedaten</h2> <h2>Reisedaten</h2>
@ -108,6 +115,18 @@
</div> </div>
<div class="col-md-12 col-sm-12 col-xs-12"> <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> <button type="submit" value="SEND" id="submit" class="aligncenter btn btn-primary btn-lg border-radius">Anfrage absenden</button>
</div> </div>
</div><!-- end form-box --> </div><!-- end form-box -->

View file

@ -291,11 +291,33 @@ class DefaultController extends Controller
$form = $this->createForm(ContactRequestType::class); $form = $this->createForm(ContactRequestType::class);
$breadcrumbEntries = [new BreadcrumbEntry('Kontaktformular')]; $breadcrumbEntries = [new BreadcrumbEntry('Kontaktformular')];
$re_error = "";
if ($request->getMethod() == 'POST') 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); $form->handleRequest($request);
if ($form->isValid()) if ($form->isValid() && !$error)
{ {
/** @var ContactRequest $contactRequest */ /** @var ContactRequest $contactRequest */
$contactRequest = $form->getData(); $contactRequest = $form->getData();
@ -336,6 +358,7 @@ class DefaultController extends Controller
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR, 'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'breadcrumb_entries' => $breadcrumbEntries, 'breadcrumb_entries' => $breadcrumbEntries,
'contact_form' => $form->createView(), 'contact_form' => $form->createView(),
're_error' => $re_error,
]); ]);
} }