회원 가입 약관 동의 페이지를 개인 정보 입력 페이지와 통합하기 - 기타스킨강좌, 그누보드5강좌

본문 바로가기
전체검색

기타스킨강좌

그누보드, 영카트 초보 제작자분들을 위한 다양한 스킨 제작 활용 팁을 공유합니다.

회원 가입 약관 동의 페이지를 개인 정보 입력 페이지와 통합하기

관리자 18-11-06 22:23

회원 가입을 하려면 우선 약관 동의 페이지를 거쳐서 개인 정보 입력 페이지로 넘어가는데

두 페이지를 하나로 통합하는 방법입니다.



1. 우선 아래 팁을 적용합니다.

http://gnustudy.com/bbs/board.php?bo_table=skin_etc&wr_id=20



2. register_form.skin.php 파일 수정


2-1.


아래 코드 주석 처리하거나 삭제


<input type="hidden" name="agree" value="<?php echo $agree ?>">
<input type="hidden" name="agree2" value="<?php echo $agree2 ?>">



2-2.


적당한 위치에 다음 내용 추가

(위치는 크게 상관이 없지만 반드시 form 구문 안 쪽에 추가하셔야 합니다)

css는 사용하시는 버전에 따라 깨져 보일 수도 있으니 상황에 맞게 수정해서 사용하세요.

관리자페이지 > 환경설정 > 기본환경설정 > 회원가입약관, 개인정보처리방침 내용이 출력됩니다.


<?php if ($w == "") { ?>
<li>
    <section id="fregister_term">
        <h2><i class="fa fa-check-square-o" aria-hidden="true"></i> 회원가입약관</h2>
        <textarea readonly><?php echo get_text($config['cf_stipulation']) ?></textarea>
        <fieldset class="fregister_agree">
            <label for="agree11">회원가입약관의 내용에 동의합니다.</label>
            <input type="checkbox" name="agree" value="1" id="agree11">
        </fieldset>
    </section>
</li>
<li>
    <section id="fregister_private">
        <h2><i class="fa fa-check-square-o" aria-hidden="true"></i> 개인정보처리방침안내</h2>
        <textarea readonly><?php echo get_text($config['cf_privacy']) ?></textarea>
        <fieldset class="fregister_agree">
            <label for="agree21">개인정보처리방침안내의 내용에 동의합니다.</label>
            <input type="checkbox" name="agree2" value="1" id="agree21">
        </fieldset>
    </section>
</li>
<?php } ?>



2-3.


하단 스크립트 부분에서..


// submit 최종 폼체크
function fregisterform_submit(f)
{


위 코드 바로 아래에 다음 내용 추가


<?php if ($w == "") { ?>
if (!f.agree.checked) {
    alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
    f.agree.focus();
    return false;
}

if (!f.agree2.checked) {
    alert("개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
    f.agree2.focus();
    return false;
}
<?php } ?>



3. /bbs/register_form_update.php 파일 수정


// 리퍼러 체크
referer_check();


위 코드 바로 아래에 다음 내용 추가


if ($w == "") {
    if (!isset($_POST['agree']) || !$_POST['agree']) {
        alert('회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.');
    }
    if (!isset($_POST['agree2']) || !$_POST['agree2']) {
        alert('개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.');
    }
}



## 수정 후 화면입니다.


d28ec7b5a1c7f4976952ffbfc31eeed3_1541510919_0143.gif

댓글목록 +3

댓글목록

profile_image

트블라님의 댓글

트블라 작성일

현재 그누 최신버전 사용중이며 나리야 빌더 사용중입니다.
알려주신 부분들 너무 잘 작동합니다.
감사합니다.
그런데, 정보수정으로 가면 상단에 넣은 약관 체크 부분이
그대로 나옵니다.
체크를 하든 안하든 정보수정은 잘 되구요.
제가 뭘 잘못 한걸까요?

profile_image

관리자님의 댓글의 댓글

관리자 작성일

이렇게 감싸주는 게 $w 값을 빈 값으로 체크해서 정보 수정 페이지에서는 안 나오게 하는 부분입니다.
<?php if ($w == "") { ?>
<?php } ?>
정보 수정 모드이면 $w 값에 'u' 가 들어가기 때문에 저 안에 들어가는 내용들이 나올 수가 없습니다.

profile_image

트블라님의 댓글의 댓글

트블라 작성일

이런..수고 끼쳐드려 너무 죄송합니다.
소셜 모바일 약관 부분을 가져오면서 그 부분을 빠트렸네요.
너무 잘됩니다.
다시금 사과드리고..감사 드려요..

로그인 후 댓글 작성 가능합니다.

로그인

로그인 후 글 작성 가능합니다.
그누스킨닷컴

그누스터디는 그누보드, 영카트를 이용하시는 초보 사용자를 위한 정보를 공유합니다.

E-MAIL : gnustudy@naver.com / 카카오톡 : gnustudy / 텔레그램 : gnustudy
제작 문의를 제외한 일반 문의는 QA 게시판을 이용해주세요.

Copyright gnustudy.com All rights reserved.