그누보드 글쓰기 페이지 비회원 개인정보 수집 동의 추가 방법
페이지 정보

본문
그누보드 게시판에서 비회원이 글을 작성할 때 개인정보 수집 및 이용 동의를 필수로 거치도록 스킨 파일과 자바스크립트 유효성 검사 코드를 추가하는 방법을 알아봅니다.
그누보드 게시판 글쓰기 폼에 비회원용 개인정보 수집 동의 추가 위치
그누보드4 및 그누보드5 환경에서 게시판 글쓰기 시 비회원에게만 개인정보 수집 및 이용 동의 체크박스를 노출하려면 사용 중인 게시판 스킨 폴더 내의 write.skin.php 파일을 수정해야 합니다.
1. 동의 체크박스 추가 위치
skin/board/스킨명/write.skin.php (또는 테마 경로의 해당 파일) 내부의 <form...> 태그 바로 아래쪽에 추가합니다. 비회원 상태일 때만 출력되도록 <?php if ($is_guest) {?> 조건문으로 감싸서 배치합니다.
2. 자바스크립트 유효성 검사 추가 위치
파일 내에서 function fwrite_submit(f) 함수를 검색한 뒤, 함수 내부의 적당한 위치에 비회원 상태일 때 동의 라디오버튼(또는 체크박스)이 체크되었는지 검증하는 코드를 추가합니다.
비회원 글쓰기 개인정보 수집 동의 유효성 검사 추가하기
그누보드 글쓰기 페이지에서 비회원이 개인정보 수집 동의에 체크하지 않고 글쓰기를 시도할 때 경고창을 띄우고 폼 제출을 중단하려면, 해당 게시판 스킨 파일(write.skin.php) 내의 fwrite_submit(f) 함수에 자바스크립트 검증 코드를 추가해야 합니다.
수정 방법
- 게시판 스킨 폴더 내의
write.skin.php파일에서function fwrite_submit(f)함수를 찾습니다. - 함수 내부 적절한 위치에 아래의 자바스크립트 코드를 삽입합니다.
코드 예시
<?php if ($is_guest) {?>
var agree1 = document.getElementsByName("agree1");
if (!agree1[0].checked) {
alert("개인정보취급방침의 내용에 동의하셔야 글쓰기를 하실 수 있습니다.");
agree1[0].focus();
return false;
}
<?php }?>
이 코드는 비회원($is_guest)일 때만 작동하며, 동의 라디오 버튼(agree1)의 첫 번째 항목(동의합니다)이 체크되어 있지 않으면 경고창을 띄우고 return false를 통해 폼 전송을 차단합니다.
회원 포함 글쓰기 개인정보 동의 확장 방법
그누보드 글쓰기 스킨(write.skin.php)에서 비회원($is_guest) 조건에 맞춰 구현된 개인정보 수집 동의 절차를 회원에게도 적용하려면, 코드 내의 비회원 조건문을 수정하거나 제거하여 모든 이용자에게 동의 항목과 검증 로직이 출력되도록 확장해야 합니다.
1. 조건문 범위 확인 및 수정
- 파일 경로:
skin/board/스킨명/write.skin.php - 확인 위치: 원문 자료에서는 비회원일 때만 작동하도록
<?php if ($is_guest) {?>조건문으로 감싸져 있습니다. - 다음 행동: 전체 이용자(회원 포함)에게 동의를 받으려면 해당
<?php if ($is_guest) {?>조건문을 삭제하거나,<?php if (true) {?>와 같이 항상 실행되도록 변경합니다. 단, 회원에게는 이미 가입 시 개인정보 수집 동의를 받았으므로, 게시판 성격에 따라 비회원에게만 적용하는 것이 일반적입니다.
상황별 개인정보 동의 추가 가이드
- 내 상황: 그누보드4/5 게시판에서 비회원 글쓰기 시 개인정보 수집 동의 절차를 추가하려는 경우
- 선택 기준: 스킨 폴더 내
write.skin.php파일에 동의 폼 HTML과fwrite_submit(f)자바스크립트 검증 코드를 직접 삽입하는 방식 적용 - 다음 행동:
skin/board/스킨명/write.skin.php파일의<form>태그 아래에 비회원 조건문($is_guest)을 포함한 동의 체크박스/라디오 버튼을 추가하고,fwrite_submit함수에 미동의 시 전송을 차단하는 유효성 검사 로직을 구현
실전 FAQ
Q. 동의를 체크하지 않고 글쓰기를 시도할 때 경고창만 뜨고 그대로 글이 등록되는 문제가 발생합니다.
- 예외 및 원인: 자바스크립트 검증 함수(
fwrite_submit) 내에서 조건을 확인한 후return false;를 반환하지 않았거나, 폼의onsubmit이벤트가 올바르게 연결되지 않은 경우 발생합니다. - 대안 및 해결:
fwrite_submit(f)함수 안에서 동의 항목이 체크되지 않았음을 확인한 직후return false;를 명시하여 폼 제출 동작을 명확히 중단시켜야 합니다.
Q. 비회원이 아닌 전체 회원에게도 개인정보 동의를 강제하려면 어떻게 수정해야 하나요?
- 예외 및 원인: 원문 예제 코드는 비회원 상태(
$is_guest)에서만 작동하도록 조건문이 감싸져 있어 회원에게는 노출되지 않습니다. - 대안 및 해결:
write.skin.php에 적용된<?php if ($is_guest) {?>조건문을 제거하거나 회원 등급별 조건식으로 변경하여 필요한 대상에게 항상 동의 폼과 검증 스크립트가 실행되도록 범위를 확장합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 최신글 리스트 화면 파일 다운로드 구현 방법 26.10.02
- 다음글그누보드 게시판 리스트를 추가 여분 필드(wr1~wr10) 기준으로 정렬하는 방법 26.10.02
댓글목록
등록된 댓글이 없습니다.