reCAPTCHA
Re: reCAPTCHA
А как при этом сделать чтобы <!--MESSAGE--> выводила что капча не верная ?
Re: reCAPTCHA
Если капча неверная $_POST['my_error'] = '.....';
и в темплейте опять же проверяете $_POST['my_error']
и в темплейте опять же проверяете $_POST['my_error']
Don't forget to run script update
Re: reCAPTCHA
С выходом рекаптчи3 не появилось желание встроить его в систему нативно? чтобы у вебмастера был выбор или встроенная каптча или рекаптча3?
Re: reCAPTCHA
попробуем рекапчу 3 на коментах для начала
регаемся на гугле, получаем ключи
в сетингах
Use Captcha on Comments? = recaptcha v3
Recaptcha V3 Site key
Recaptcha V3 Secret key
на странице галеры
<script src="https://www.google.com/recaptcha/api.js?render=SITE KEY!!!!!!!!"></script>
<script>
function CheckRecaptcha() {
grecaptcha.ready(function() {
grecaptcha.execute('SITE KEY!!!!!!!!', {action: 'content_page'}).then(function(token) {
document.add_comment.recaptcha.value = token;
document.add_comment.submit();
});
});
}
</script>
в форме комента тоже поле под рекапчу
<? if ('<!--ERROR-->') echo "<b>error:</b> <!--ERROR-->"; ?>
<FORM name="add_comment" method="POST" onSubmit="CheckRecaptcha(); return false;">
<input type="hidden" name="action" value="add_comment">
<input type="hidden" name="recaptcha" id="recaptcha" value="">
<label>Name:</label> <input class="s_input" type="text" name='username' id='username' value="<?=$user['username']?>">
<br>
<textarea class="s_text" class="ph2" name='comment' id='comment' rows=5 cols=35 value="Leave Your Comments Here"></textarea>
<input type='submit' value='Post Comment' >
</form>
как не сложно заметить при сабмите оно запрашивает рекапчу
если тут все ок будет - пойдем внедрять дальше
регаемся на гугле, получаем ключи
в сетингах
Use Captcha on Comments? = recaptcha v3
Recaptcha V3 Site key
Recaptcha V3 Secret key
на странице галеры
<script src="https://www.google.com/recaptcha/api.js?render=SITE KEY!!!!!!!!"></script>
<script>
function CheckRecaptcha() {
grecaptcha.ready(function() {
grecaptcha.execute('SITE KEY!!!!!!!!', {action: 'content_page'}).then(function(token) {
document.add_comment.recaptcha.value = token;
document.add_comment.submit();
});
});
}
</script>
в форме комента тоже поле под рекапчу
<? if ('<!--ERROR-->') echo "<b>error:</b> <!--ERROR-->"; ?>
<FORM name="add_comment" method="POST" onSubmit="CheckRecaptcha(); return false;">
<input type="hidden" name="action" value="add_comment">
<input type="hidden" name="recaptcha" id="recaptcha" value="">
<label>Name:</label> <input class="s_input" type="text" name='username' id='username' value="<?=$user['username']?>">
<br>
<textarea class="s_text" class="ph2" name='comment' id='comment' rows=5 cols=35 value="Leave Your Comments Here"></textarea>
<input type='submit' value='Post Comment' >
</form>
как не сложно заметить при сабмите оно запрашивает рекапчу
если тут все ок будет - пойдем внедрять дальше
Don't forget to run script update
Re: reCAPTCHA
Если не трудно можете чуть подсказать
не поиму что не правильно сделал
div class="comments-form" id='add_comment'>
<form name="add_comment" method="POST" onSubmit='CheckRecaptcha(); return false;'>
<div class="r_line">
<textarea name='comment' id='comment' rows=5 cols=35 placeholder="Leave Your Comments Here"></textarea>
</div>
<div class="r_line">
<input type="text" name='username' id='username' value="<?=$user['username']?>" placeholder="Your name">
</div>
<? if ($rot_settings['tube_comment_captcha']) { ?>
<div class="r_line">
<input type="hidden" name="recaptcha" id="recaptcha" value="">
</div>
<div class="r_line">
<input class="post" type='submit' value='Post Comment' onClick='post_comment();' data-badge='inline' />
</div>
<? } ?>
</form>
<div id='comment_error'></div>
</div>
<script src="//google.com/recaptcha/api.js?render=6LfNF78UAAAAANpoI3"></script>
<script>
function CheckRecaptcha() {
grecaptcha.ready(function() {
grecaptcha.execute('6LfNF78UAAAAANpoI3', {action: 'content_page'}).then(function(token) {
document.add_comment.recaptcha.value = token;
document.add_comment.submit();
});
});
}
</script>
<script>
function post_comment() {
$.post(
'/index.php',
{
'action': 'add_comment',
'content_id': '<!--GALLERY_ID-->',
'captcha': $('#captcha').val(),
'username': $('#username').val(),
'comment': $('#comment').val()
},
function(data) {
var t = data.split('|');
if (t[0] == 'ERROR') {
$('#comment_error').text(t[1]);
} else {
$('#comment_error').text(' ');
$('#add_comment').html('Thank you ! Your comment will be reviewed by admin.');
}
}
);
}
</script>
при сабмите просто страница перегружается и все
не поиму что не правильно сделал
div class="comments-form" id='add_comment'>
<form name="add_comment" method="POST" onSubmit='CheckRecaptcha(); return false;'>
<div class="r_line">
<textarea name='comment' id='comment' rows=5 cols=35 placeholder="Leave Your Comments Here"></textarea>
</div>
<div class="r_line">
<input type="text" name='username' id='username' value="<?=$user['username']?>" placeholder="Your name">
</div>
<? if ($rot_settings['tube_comment_captcha']) { ?>
<div class="r_line">
<input type="hidden" name="recaptcha" id="recaptcha" value="">
</div>
<div class="r_line">
<input class="post" type='submit' value='Post Comment' onClick='post_comment();' data-badge='inline' />
</div>
<? } ?>
</form>
<div id='comment_error'></div>
</div>
<script src="//google.com/recaptcha/api.js?render=6LfNF78UAAAAANpoI3"></script>
<script>
function CheckRecaptcha() {
grecaptcha.ready(function() {
grecaptcha.execute('6LfNF78UAAAAANpoI3', {action: 'content_page'}).then(function(token) {
document.add_comment.recaptcha.value = token;
document.add_comment.submit();
});
});
}
</script>
<script>
function post_comment() {
$.post(
'/index.php',
{
'action': 'add_comment',
'content_id': '<!--GALLERY_ID-->',
'captcha': $('#captcha').val(),
'username': $('#username').val(),
'comment': $('#comment').val()
},
function(data) {
var t = data.split('|');
if (t[0] == 'ERROR') {
$('#comment_error').text(t[1]);
} else {
$('#comment_error').text(' ');
$('#add_comment').html('Thank you ! Your comment will be reviewed by admin.');
}
}
);
}
</script>
при сабмите просто страница перегружается и все
Re: reCAPTCHA
у вас тут намешаны варианты с AJAX постоям и просто сабмитом
сделайте мой вариант как показано выше и от него уже отталкивайтесь, будет проще
сделайте мой вариант как показано выше и от него уже отталкивайтесь, будет проще
Don't forget to run script update