메인에 빠른상담신청을 넣을 때 리캡챠가 안보입니다.
본문
메인에 스킨을 사용하여 빠른상담신청을 추가하였습니다.
사용 스킨 - https://sir.kr/g5_skin/25290?sfl=wr_subject%7C%7Cwr_content&stx=%EB%B9%A0%EB%A5%B8%EC%83%81%EB%8B%B4
처음엔 개발자모드로 봤을 때 리캡챠코드가 아예없어 (<div></div>만 있었음) 검색해보면서 코드를 추가하니 Invisible reCAPTCHA가 생겼습니다.
근데 문제는 '자동등록방지가 틀렸습니다'가 떠서 어떻게 코드를 수정해야할지 모르겠네요...
어떤 코드가 문제인지 왜 오류가 나타나는건지 알려주시면 감사하겠습니다!
아래는 customer.php 코드입니다.
<?
$g5_path = ".."; // 그누보드가 있는 상대경로를 적어줌
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
// 내용 필수 입력 해제
if ($bo_table == 'main_form') {
$editor_js = '';
$editor_js .= get_editor_js('wr_content', $is_dhtml_editor);
}
?>
<script language="javascript">
var char_min = parseInt(<?=$write_min?>);
var char_max = parseInt(<?=$write_max?>);
</script>
<style type="text/css">
form {
background-color: #685f4f;
width: 100%;
}
.form_wrap {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 30px;
display: flex;
justify-content: space-between;
align-items: flex-end;
}
.form_box {
display: flex;
}
</style>
<div class="form-box">
<form name=frm method=post action="<?=G5_URL?>/bbs/write_update.php" onsubmit="return checkFrm(this);">
<input type="hidden" name="token" value=<?php echo get_write_token('main_form') ?>>
<input type=hidden name=bo_table value="main_form">
<input type="hidden" name="wr_email" value="*** 개인정보보호를 위한 이메일주소 노출방지 ***">
<input type="hidden" name="wr_content" value="창업문의글입니다.">
<input type="hidden" name="wr_subject" value="[메인]창업상담 신청합니다.">
<div class="form_wrap">
<div class="form_box">
<div class="form_01 main_form_wrap">
<ul class="form_title main_form_box">
<li class="bo_w_sbj main_form">
<input type=" text" name="wr_name" value="<?php echo $wr_name ?>" id="wr_name" required
class="frm_input half_input required" placeholder="이름">
</li>
<li class="bo_w_sbj main_form">
<input type="text" name="wr_2" value="<?php echo $wr_2 ?>" id="wr_2" required
class="frm_input required" placeholder="연락처">
</li>
<li class="bo_w_sbj main_form">
<input type="text" name="wr_3" value="<?php echo $wr_3?>" id="wr_3" required
class="frm_input required" placeholder="지역">
</li>
</ul>
</div>
<div class="captcha">
<?php if ($is_guest) { //자동등록방지 ?>
<div>
<?php
$captcha_html = captcha_html();
$captcha_js = chk_captcha_js();
echo $captcha_html
?>
</div>
<?php } ?>
</div>
</div>
<div class="signbox">
<div class="sign_agree">
<input type="checkbox" id="check1" name="agree">
<label for="check1" class=checkst></label>
<span class="check_t">개인정보 수집에 동의합니다.</span>
</div>
<div class="btn_confirm write_div2">
<button type="submit" id="btn_submit" accesskey="s" class="btn_submit btn">상담신청</button>
</div>
</div>
</div>
</form>
</div>
<script>
$("#check1").click(function() {
if ($("#check1").is(":checked")) {
$("#check1").prop("checked", true);
$(".btn_submit").attr("disabled", false);
} else {
$("#check1").prop("checked", false);
}
});
$(".btn_submit").click(function() {
if ($("#check1").prop("checked") != true) {
alert('개인정보 수집동의에 체크해주세요.');
$(".btn_submit").attr("disabled", true);
}
});
<?php if($write_min || $write_max) { ?>
// 글자수 제한
var char_min = parseInt(<?php echo $write_min; ?>); // 최소
var char_max = parseInt(<?php echo $write_max; ?>); // 최대
check_byte("wr_content", "char_count");
$(function() {
$("#wr_content").on("keyup", function() {
check_byte("wr_content", "char_count");
});
});
<?php } ?>
function html_auto_br(obj) {
if (obj.checked) {
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
if (result)
obj.value = "html2";
else
obj.value = "html1";
} else
obj.value = "";
}
function fwrite_submit(f) {
<?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함 ?>
var subject = "";
var content = "";
$.ajax({
url: g5_bbs_url + "/ajax.filter.php",
type: "POST",
data: {
"subject": f.wr_subject.value,
"content": f.wr_content.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
}
});
if (subject) {
alert("제목에 금지단어('" + subject + "')가 포함되어있습니다");
f.wr_subject.focus();
return false;
}
if (content) {
alert("내용에 금지단어('" + content + "')가 포함되어있습니다");
if (typeof(ed_wr_content) != "undefined")
ed_wr_content.returnFalse();
else
f.wr_content.focus();
return false;
}
if (document.getElementById("char_count")) {
if (char_min > 0 || char_max > 0) {
var cnt = parseInt(check_byte("wr_content", "char_count"));
if (char_min > 0 && char_min > cnt) {
alert("내용은 " + char_min + "글자 이상 쓰셔야 합니다.");
return false;
} else if (char_max > 0 && char_max < cnt) {
alert("내용은 " + char_max + "글자 이하로 쓰셔야 합니다.");
return false;
}
}
}
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
document.getElementById("btn_submit").disabled = "disabled";
return true;
}
</script>
</section>
<!-- } 게시물 작성/수정 끝 -->
답변 3
언제 소스이신가요?
<?php echo chk_captcha_js(); ?>
로 추가해보셔야 할듯 합니다.
캡챠 부분을 아래와 같이 수정을 해 보시는건 어떨까 합니다.
<div class="captcha">
<?php if ($is_guest) { // 자동등록방지 ?>
<?php echo captcha_html('captcha_form'); ?>
<?php } ?>
</div>
답변을 작성하시기 전에 로그인 해주세요.