РЕШЕНО замена стандартной капчи в забыли пароль

Статус
Закрыто для дальнейших ответов.

Greatness

Местный
Всем доброго времени суток, народ помогите разобраться в следующем : решил сменить стандартную капчу на капчу рекапчи в файле Забыли пароль - _recovery.php - вроде бы работает, но не выскакивает фраза : " Вы не прошли проверку Я не робот ! " , в случае если не проходят проверку - видимо что то не доглядел помогите с кодом плиз.

Код файла :
Код:
<?PHP
$_OPTIMIZATION["title"] = "Забыли пароль?";
$_OPTIMIZATION["description"] = "Забыли пароль?";
$_OPTIMIZATION["keywords"] = "Забыли пароль?";

if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; }

?>
<div class="s-bk-lf">
    <div class="acc-titles">Забыли пароль?</div>
</div>
<div class="silver-bk"><div class="clr"></div>   
<?PHP

if (!empty($_POST['g-recaptcha-response'])) {

    if(isset($_POST["email"])){

      
      
        $email = $func->IsMail($_POST["email"]);
        $time = time();
        $tdel = $time + 60*15;
      
            if($email !== false){
              
                $db->Query("DELETE FROM db_recovery WHERE date_del < '$time'");
                $db->Query("SELECT COUNT(*) FROM db_recovery WHERE ip = INET_ATON('".$func->UserIP."') OR email = '$email'");
                if($db->FetchRow() == 0){
              
                    $db->Query("SELECT id, user, email, pass FROM db_users_a WHERE email = '$email'");
                    if($db->NumRows() == 1){
                    $db_q = $db->FetchArray();
                  
                    # Вносим запись в БД
                    $db->Query("INSERT INTO db_recovery (email, ip, date_add, date_del) VALUES ('$email',INET_ATON('".$func->UserIP."'),'$time','$tdel')");
                  
                    # Отправляем пароль
                    $sender = new isender;
                    $sender -> RecoveryPassword($db_q["email"], $db_q["pass"], $db_q["email"]);
                  
                    echo "<center><font color = 'green'><b>Данные для входа отправлены на ваш Email</b></font></center>";
                    ?>
                    </div>
                    <div class="clr"></div>   
                    <?PHP
                    return;
                  
                    }else echo "<center><font color = 'red'><b>Пользователь с таким Email не зарегистрирован</b></font></center>";
              
                }else echo "<center><font color = 'red'><b>На Ваш Email или IP уже был отправлен пароль за последние 15 минут</b></font></center>";
              
            }else echo "<center><font color = 'red'><b>Email указан неверно</b></font></center>";
          
       }else echo "<center><font color = 'red'><b>Вы не прошли проверку Я не робот !</b></font></center>";   
  
    }

?>

<BR />
<form action="" method="post">
<table width="550" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center" width="250"> Укажите Ваш Email ( На него будет выслан пароль ):</td>
  </tr>

  <tr>
    <td align="center" width="250"><input name="email" placeholder="Укажите вашу почту" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? $_POST["email"] : false; ?>"/></td>
  </tr>

  <tr>
   <td colspan="2" align="center" style="padding:3px;">
    <form><div class="g-recaptcha" data-sitekey="xxx"></div></form>
    </td></tr>
  
    <tr>
    <td colspan="2" align="center"><BR /><input type="submit" class="btn_sar" value="Восстановить" style="height: 30px;"></td>
  </tr>
</table>
</form>
</div>
<div class="clr"></div>
 
Последнее редактирование модератором:

DjSuzuki

Местный
Всем доброго времени суток, народ помогите разобраться в следующем : решил сменить стандартную капчу на капчу рекапчи в файле Забыли пароль - _recovery.php - вроде бы работает, но не выскакивает фраза : " Вы не прошли проверку Я не робот ! " , в случае если не проходят проверку - видимо что то не доглядел помогите с кодом плиз.

Код файла :

<?PHP
$_OPTIMIZATION["title"] = "Забыли пароль?";
$_OPTIMIZATION["description"] = "Забыли пароль?";
$_OPTIMIZATION["keywords"] = "Забыли пароль?";

if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; }

?>
<div class="s-bk-lf">
<div class="acc-titles">Забыли пароль?</div>
</div>
<div class="silver-bk"><div class="clr"></div>
<?PHP

if (!empty($_POST['g-recaptcha-response'])) {

if(isset($_POST["email"])){



$email = $func->IsMail($_POST["email"]);
$time = time();
$tdel = $time + 60*15;

if($email !== false){

$db->Query("DELETE FROM db_recovery WHERE date_del < '$time'");
$db->Query("SELECT COUNT(*) FROM db_recovery WHERE ip = INET_ATON('".$func->UserIP."') OR email = '$email'");
if($db->FetchRow() == 0){

$db->Query("SELECT id, user, email, pass FROM db_users_a WHERE email = '$email'");
if($db->NumRows() == 1){
$db_q = $db->FetchArray();

# Вносим запись в БД
$db->Query("INSERT INTO db_recovery (email, ip, date_add, date_del) VALUES ('$email',INET_ATON('".$func->UserIP."'),'$time','$tdel')");

# Отправляем пароль
$sender = new isender;
$sender -> RecoveryPassword($db_q["email"], $db_q["pass"], $db_q["email"]);

echo "<center><font color = 'green'><b>Данные для входа отправлены на ваш Email</b></font></center>";
?>
</div>
<div class="clr"></div>
<?PHP
return;

}else echo "<center><font color = 'red'><b>Пользователь с таким Email не зарегистрирован</b></font></center>";

}else echo "<center><font color = 'red'><b>На Ваш Email или IP уже был отправлен пароль за последние 15 минут</b></font></center>";

}else echo "<center><font color = 'red'><b>Email указан неверно</b></font></center>";

}else echo "<center><font color = 'red'><b>Вы не прошли проверку Я не робот !</b></font></center>";

}

?>

<BR />
<form action="" method="post">
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" width="250"> Укажите Ваш Email ( На него будет выслан пароль ):</td>
</tr>

<tr>
<td align="center" width="250"><input name="email" placeholder="Укажите вашу почту" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? $_POST["email"] : false; ?>"/></td>
</tr>

<tr>
<td colspan="2" align="center" style="padding:3px;">
<form><div class="g-recaptcha" data-sitekey="xxx"></div></form>
</td></tr>

<tr>
<td colspan="2" align="center"><BR /><input type="submit" class="btn_sar" value="Восстановить" style="height: 30px;"></td>
</tr>
</table>
</form>
</div>
<div class="clr"></div>
Код вставляй в разделе вставить код а не так просто пиши его!
 

Greatness

Местный
люди подскажите кодом чтоб работало фраза " Я не робот " , буду благодарен .
 

pligin

Команда форума
Администратор
люди подскажите кодом чтоб работало фраза " Я не робот " , буду благодарен .
HTML:
<div class="g-recaptcha" data-sitekey="ключ_рекапчи"></div>
PHP:
if (!empty($_POST['g-recaptcha-response'])) {
.........................
}else echo "<center><font color = 'red'><b>Капча не пройдёна!</b></font></center>";
 

Greatness

Местный
HTML:
<div class="g-recaptcha" data-sitekey="ключ_рекапчи"></div>
PHP:
if (!empty($_POST['g-recaptcha-response'])) {
.........................
}else echo "<center><font color = 'red'><b>Капча не пройдёна!</b></font></center>";
Все это , что ты мне написал , есть в том файле выше . но он не работает .посмотри , что в моем файле не так , пожалуйста . Фраза " Я не робот " или " Вы не прошли проверку " , она не отображается .
 

Greatness

Местный
Так помощи и не дождался, а время не резиновое у меня.... Поразмыслив и поковырявшись, проблему решил я наконец то сам !


строки в начале файла :

if (!empty($_POST['g-recaptcha-response'])) {

if(isset($_POST["email"])){


нужно поменять местами вот так :

if(isset($_POST["email"])){

if (!empty($_POST['g-recaptcha-response'])) {


и сообщение о том, что вы не прошли рекапчу - я не робот заработает ! Сам сообразил, может кому пригодиться - готовый рабочий файл ставьте свой ключ рекапчи и у вас готовая страница Забыли пароль с рекапчей, как есть подобная страница - регистрация с рекапчей.
Всем успехов с кодами ! И да все проверил пароль забытый приходит на почту все нормально.
 
Статус
Закрыто для дальнейших ответов.
Верх