메인에 빠른상담신청을 넣을 때 리캡챠가 안보입니다. 채택완료

메인에 스킨을 사용하여 빠른상담신청을 추가하였습니다.

사용 스킨 - 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 코드입니다.

 

Copy
<?

$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="aaaaa@bbbb.com">

        <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개

채택된 답변
+20 포인트

언제 소스이신가요?

 

<?php echo chk_captcha_js();  ?>

 

로 추가해보셔야 할듯 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

2018년도 스킨입니다! 혹시 저 코드는 어느 부분에 추가하면되나요...?
현재 운영중인 소스가 중요합니다.
최근에 받으신거라면 제가 적어드린걸로 하셔야 합니다.
위치는 자바스크립트에 넣으시면 됩니다.
처음 중간 끝 다 넣어봤는데도 '자동~' 이게 뜨네요...

댓글을 작성하려면 로그인이 필요합니다.

<script src="/js/jquery-1.8.3.min.js"></script>

현재 소스에 jqeury가 호출이 안 되셨습니다.

넣고 해보세요.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

계속되는 질문 정말 죄송합니다...코드 윗부분에 <script src="/js/jquery-1.8.3.min.js"></script> 추가하고 아래 자바스크립트엔 <?php echo chk_captcha_js(); ?>를 추가하였습니다
근데 계속 '자동~' 이부분은 뜨네요,,,
이상한건 빠른문의 게시판에선 정상작동이 되고 메인에 있는 빠른문의폼만 '자동~'이 뜨구여
왜 계속 창이 뜨는지 정말 모르겠습니다..
다시 한번 계속되는 질문에 죄송합니다..ㅜㅜ
정상작동되는 페이지의 상단코드와 캡챠 코드 및 스크립트 부분을 복사해서 오류나는 페이지에 붙여 넣고 실행을 해보세요

댓글을 작성하려면 로그인이 필요합니다.

캡챠 부분을 아래와 같이 수정을 해 보시는건 어떨까 합니다.

Copy
<div class="captcha">
    <?php if ($is_guest) { // 자동등록방지  ?>
        <?php echo captcha_html('captcha_form'); ?>
    <?php } ?>
</div>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

위와 같이 수정했는데도 '자동~' 이게 뜹니다...

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고