Greatness
Местный
- Сообщения
- 35
- Реакции
- 4
Всем доброго времени суток, народ помогите разобраться в следующем : решил сменить стандартную капчу на капчу рекапчи в файле Забыли пароль - _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
Участник
- Сообщения
- 186
- Реакции
- 72
Код вставляй в разделе вставить код а не так просто пиши его!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>
Greatness
Местный
- Сообщения
- 35
- Реакции
- 4
это как я не пойму объясни примером в данном файле плиз.DjSuzuki написал(а):Код вставляй в разделе вставить код а не так просто пиши его!
DjSuzuki
Участник
- Сообщения
- 186
- Реакции
- 72
Я имею ввиду когда пишешь на форуме здесь то если хочешь вставить код то при написании сообщения нажми на "вставить" - "код"Greatness написал(а):это как я не пойму объясни примером в данном файле плиз.
Greatness
Местный
- Сообщения
- 35
- Реакции
- 4
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.337
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
Местный
- Сообщения
- 35
- Реакции
- 4
Все это , что ты мне написал , есть в том файле выше . но он не работает .посмотри , что в моем файле не так , пожалуйста . Фраза " Я не робот " или " Вы не прошли проверку " , она не отображается .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
Местный
- Сообщения
- 35
- Реакции
- 4
а xxx что по твоему означает ? Специально убрал отсюда , у меня он стоит , с ним тоже не работает я не идиот !normalno написал(а):Ключ рекапчи где?
Greatness
Местный
- Сообщения
- 35
- Реакции
- 4
Так помощи и не дождался, а время не резиновое у меня.... Поразмыслив и поковырявшись, проблему решил я наконец то сам !
строки в начале файла :
if (!empty($_POST['g-recaptcha-response'])) {
if(isset($_POST["email"])){
нужно поменять местами вот так :
if(isset($_POST["email"])){
if (!empty($_POST['g-recaptcha-response'])) {
и сообщение о том, что вы не прошли рекапчу - я не робот заработает ! Сам сообразил, может кому пригодиться - готовый рабочий файл ставьте свой ключ рекапчи и у вас готовая страница Забыли пароль с рекапчей, как есть подобная страница - регистрация с рекапчей.
Всем успехов с кодами ! И да все проверил пароль забытый приходит на почту все нормально.
строки в начале файла :
if (!empty($_POST['g-recaptcha-response'])) {
if(isset($_POST["email"])){
нужно поменять местами вот так :
if(isset($_POST["email"])){
if (!empty($_POST['g-recaptcha-response'])) {
и сообщение о том, что вы не прошли рекапчу - я не робот заработает ! Сам сообразил, может кому пригодиться - готовый рабочий файл ставьте свой ключ рекапчи и у вас готовая страница Забыли пароль с рекапчей, как есть подобная страница - регистрация с рекапчей.
Всем успехов с кодами ! И да все проверил пароль забытый приходит на почту все нормально.