reCaptcha v2 (флажок) при использовании функции 'onclick' на кнопке отправки и при использовании формы пардо в 'действии' - PullRequest
0 голосов
/ 26 января 2020

Моя страница в WordPress (это фактически заголовок. php файл). Я добавил модальное окно в этот файл. Это модальное окно содержит форму (код приведен ниже). Я добавил recaptcha в эту форму, которая не работает (форма отправляется без проверки recaptcha). Весь код, упомянутый ниже, находится в заголовке. php file.

<code><form name="abc" id="gated-form" action="https://go.pardot.com/xxxxxx" method="POST" onSubmit="return setCookie();">

<input  id="first_name" maxlength="40" name="first_name" size="20" type="text" placeholder="First Name *" /><br>

<input  id="last_name" maxlength="80" name="last_name" size="20" type="text" placeholder="Last Name *" class="wpcf7-form-control wpcf7-text" /><br>



<input  id="email" maxlength="80" name="email" size="20" type="text" placeholder="Email *" /><br>
<!--
<div class="g-recaptcha" data-sitekey="xxxxxxxxxxxxxx"></div>
-->
 <input id="abc" type="submit" name="submit" onclick="return validate();"  value="Submit" class="buttonfx"> 

</form>

<?
$public_key = "xxxxxxxx";
$private_key = "xxxxxxxx";
$url = "https://www.google.com/recaptcha/api/siteverify";

if(array_key_exists('submit_form',$POST))
{
//echo "<pre>";print_r($_POST);echo "
"; $ response_key = $ _POST ['g-recaptcha-response']; $ response = file_get_contents ($ url, '? Secret =' . $ private_key. '& response ='. $ response_key. '& remoteip ='. $ _ SERVER ['REMOTE_ADDR']); $ response = json_decode ($ response); // echo "
";print_r($reponse);echo "
"; if ($ response-> success == 1) {echo "right";} else {echo "fail";}}?> function validate () {var dcfirst_name = document.getElementById ('first_name'); var dclast_name = document.getElementById ('last_name' ); var dc_email = document.getElementById ('email'); if (dcfirst_name.value == '' || dcfirst_name.value == 'First Name *') {alert ('Имя не может быть пустым.' ); dcfirst_name.focus (); вернуть false;} else if (dclast_name.value == '' || dclast_name.value == 'Фамилия *') {alert ('Фамилия не может быть пустой.') ; dclast_name.focus (); вернуть false;} иначе if (dc_email.value == '' || dc_email.value == 'Email *') {alert ('Email не может быть пустым.'); dc_email. focus (); вернуть false;} иначе if (! validat e_email (dc_email.value)) {alert ('Пожалуйста, укажите действительный адрес электронной почты.'); dc_email.focus (); вернуть ложь; } else {window.open ("https://www.youtube.com/"); }} функция validate_email (электронная почта) {var reg = / ^ ([A-Za-z0-9 _ \ - \.]) + \ @ ([A-Za-z0-9 _ \ - \.]) + \. ( [A-Za-Z] {2,4}) $ /; if (reg.test (email) == false) возвращает false; else {return true; }}
...