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

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

QA

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

답변 3

본문

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

사용 스킨 - 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>

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

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

넣고 해보세요.

 

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 50
© SIRSOFT
현재 페이지 제일 처음으로