Page 12 of 15
Re: Пример темплейта контакт формы?
Posted: Mon Jan 09, 2023 8:12 am
by admin
ok
value можете поправить на любой удобный вам
"ничего не присходит" - все что в данном случае происходит - происходит у вас в в html коде, не в движке
что б посмотреть что не так вам надо у себя в браузере нажать F12 и посмотреть какие ошибки он пишет , я не могу удаленно угадать что у вас не так
может у вас скобка не закрыта, может какой-то еще JS есть, но это проблема на 100% темплейта
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 12:08 pm
by ulan
у меня ступор
Code: Select all
<div id='contact-form'>
<form name="form_contact" method="POST">
<input type='hidden' name='action' value='contact_form'>
<input type='hidden' id='recaptcha' name='recaptcha' value=''>
<div class="r_line">Name:</div><div class="r_line"><input type="text" name='name' id='name' minlength="3" maxlength="20" required></div>
<div class="r_line">Subject:</div><div class="r_line"><select name="subject" id="subject" required="required">
<option selected disabled>Please select subject</option>
<option value="feedback">Feedback</option>
<option value="bugs">Technical problems</option>
<option value="gdpr">Privacy/GDPR request</option>
<option value="abuse">Report inappropriate content</option>
<option value="dmca">DMCA / Copyright Infringement</option>
<option value="media">PR / Media inquiries</option>
</select>
</div>
<div class="r_line">Email:</div><div class="r_line"><input type="email" name='email' id='email' required></div>
<div class="r_line">Message:</div><div class="r_line">
<textarea name='comment' id='message' rows=5 cols=35 placeholder="Message" maxlength="255"></textarea>
</div>
<div class="r_line">
<input class="post" type='button' value='Send' onClick='send_contact_form();'>
</div>
</form>
<div id='comment_error'></div>
</div>
есть такая форма
раньше обрабатывалась через этот код
Code: Select all
<script>
function send_contact_form() {
$.post(
'/index.php',
{
'action': 'contact_form',
'captcha': $('#captcha').val(),
'name': $('#name').val(),
'email': $('#email').val(),
'message': $('#message').val()
},
function(data) {
if (data != 'OK') {
$('#comment_error').text('error: '+data);
document.getElementById("captcha_img").src = '/captcha.php?'+new Date().getTime();
} else {
$('#comment_error').text(' ');
$('#comments-form').html('<br><b>Thank you! Message sent</b>');
}
}
);
}
</script>
Вопрос, как из этого кода выкинуть старую каптчу
и поставить рекапчту в3 и чтобы все работало)))
Code: Select all
<script src="https://www.google.com/recaptcha/api.js?render=<!--TUBE_RECAPTCHA_SITE_KEY-->"></script>
<script>
function CheckRecaptcha() {
grecaptcha.ready(function() {
grecaptcha.execute('<!--TUBE_RECAPTCHA_SITE_KEY-->', {action: 'report_form'}).then(function(token) {
document.report_form.recaptcha.value = token;
document.report_form.submit();
});
});
}
</script>
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 12:25 pm
by admin
viewtopic.php?p=197839#p197839
вот готовый пример
в вашем варианте вам надо проследить что
1 в сабмите срабатывает CheckRecaptcha
2 от гугла получает код
3 код добавляется в поле recaptcha.value
все это делается в темпейлте и в браузере
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 12:31 pm
by ulan
да вот что то я не понимаю там
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 12:40 pm
by admin
что б понять надо совершенно бесплатно почитать в гугле как пользоваться devtool в браузере, от скрипта никак не зависит
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 1:20 pm
by ulan
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 1:30 pm
by admin
Да даже школьники пишут на JS , уверен - у вас получится разобраться
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 2:41 pm
by ulan
<head>
<script src="
https://www.google.com/recaptcha/api.js ... "></script>
</head>
.....
<script>
function CheckRecaptcha() {
grecaptcha.ready(function() {
grecaptcha.execute('<!--TUBE_RECAPTCHA_SITE_KEY-->').then(function(token) {
$.post(
'/index.php',
{
'action': 'contact_form',
'captcha': token,
'name': $('#name').val(),
'email': $('#email').val(),
'message': $('#message').val()
},
function(data) {
if (data != 'OK') {
$('#comment_error').text('error: '+data);
} else {
$('#comment_error').text(' ');
$('#comments-form').html('<br><b>Thank you! Message sent</b>');
}
}
);
});
});
}
</script>
<div id='contact-form'>
<form name="form_contact" method="POST">
<input type='hidden' name='action' value='contact_form'>
<input type='hidden' id='recaptcha' name='recaptcha' value=''>
<div class="r_line">Name:</div><div class="r_line"><input type="text" name='name' id='name' minlength="3" maxlength="20" required></div>
<div class="r_line">Subject:</div><div class="r_line"><select name="subject" id="subject" required="required">
<option selected disabled>Please select subject</option>
<option value="feedback">Feedback</option>
<option value="bugs">Technical problems</option>
<option value="gdpr">Privacy/GDPR request</option>
<option value="abuse">Report inappropriate content</option>
<option value="dmca">DMCA / Copyright Infringement</option>
<option value="media">PR / Media inquiries</option>
</select>
</div>
<div class="r_line">Email:</div><div class="r_line"><input type="email" name='email' id='email' required></div>
<div class="r_line">Message:</div><div class="r_line">
<textarea name='comment' id='message' rows=5 cols=35 placeholder="Message" maxlength="255"></textarea>
</div>
<div class="r_line">
<input class="post" type='button' value='Send' onClick='CheckRecaptcha();'>
</div>
</form>
<div id='comment_error'></div>
</div>
error: invalid-input-response
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 3:22 pm
by admin
Если тут где то зашифрован вопрос, то надо его расшифровать что б я понял на что отвечать
Re: Пример темплейта контакт формы?
Posted: Tue Jan 10, 2023 3:30 pm
by ulan
вопрос, что то там подправили
запрос хотя бы ушел
Thank you! Message sent
1) через что смарт шлет письма - что настроить на сервере
2) если рекаптча в3 даст ответ отличный от 1, то есть больше бот чем человек, что тогда произойдет? письмо все равно отправится или нет?