2015-08-03 2 views
1

Я хотел бы использовать новый Google Recaptcha. Я следую инструкциям, чтобы проверить, хорошо ли проверяется captcha. Теперь я хочу добавить или отключить атрибут disabled и ввести его. Ввод должен быть отключен, если ошибка включена, а когда captcha в порядке, вход активирован.Google Recapatcha и отключенный вход

Вот мой код сейчас, но вход не работает, как я хочу ..

<form action="" method="POST"> 
<?php 
    if($_SERVER['REQUEST_METHOD']==='POST'){ 
     $key='TA CLE GOOGLE'; 
     $response=$_POST['g-recaptcha-response']; 
     $ip=$_SERVER['REMOTE_ADDR']; 
     $gapi='https://www.google.com/recaptcha/api/siteverify?secret=' .$key. '&response='.$response. '&remoteip='.$ip; 
     $json=json_decode(file_get_contents($gapi),true); 
     if(!$json[ 'success']){ 
      echo " 
       <script> 
        $(\"input\").prop('disabled',true); 
       </script> 
      "; 
     } 
     else{ 
      echo " 
       <script> 
        $(\"input\").prop('disabled',false); 
       </script> 
      "; 
     } 
    } 
?> 
<input id="toto" class="btn btn-block btn-success" type="submit" name="submit" value="Resolve"/> 

Спасибо за вашу помощь

ответ

0

Переместите поле ввода выше кода PHP , Вероятно, ваш js работает до того, как вход будет добавлен в dom. Вы также можете обернуть js в документ, если вы не хотите переместить html.

EDIT: Вы также можете установить переменную php с текущим кодом и использовать ее для вывода отключенного атрибута. Например, добавьте $disable_field = FALSE; в верхней части сценария, используйте $disable_field = !$json[ 'success']; вместо если еще условно, то вывести ваш HTML, как:

<input id="toto" class="btn btn-block btn-success" type="submit" name="submit" value="Resolve" <?php if ($disable_field) echo 'disabled="disabled"';?>/> 
+0

Большое спасибо за ваши ответы, но я стараюсь оба решения, и ни один из них работают. – Nathan30

Смежные вопросы