그누보드 글쓰기 폼 제목 및 내용 숨김·자동 입력 처리 방법
페이지 정보

본문
상담 및 예약 게시판에서 불필요한 제목이나 내용 입력란을 숨기고 고정 문구나 빈값으로 자동 등록하는 방법을 살펴봅니다.
그누보드 글쓰기 폼 제목 및 내용 숨김과 자동 입력 처리 방법
상담 문의나 예약 게시판 등에서 제목 또는 내용 입력란을 숨기고 특정 고정 문구가 자동으로 등록되게 하려면 스킨 파일인 write.skin.php를 수정해야 합니다. 또한 필요에 따라 데이터베이스 값을 빈값으로 보정할 수 있습니다.
1. write.skin.php 파일 수정
- Hidden 필드 추가: form 구문 안에
hidden타입으로wr_subject또는wr_content를 추가하여 게시판 성격에 맞는 고정 문구를 설정합니다.- 제목 숨김 및 자동 입력 예시:
<input type="hidden" name="wr_subject" value="상담 문의가 접수되었습니다.">- 내용 숨김 및 자동 입력 예시:
<input type="hidden" name="wr_content" value="상담 문의가 접수되었습니다."> - 입력 폼 삭제: 기존의 제목 입력 HTML 영역 전체를 삭제합니다.
2. write_update.skin.php를 통한 빈값 보정 (선택 사항)
고정 문구 대신 제목이나 내용을 완전히 빈값으로 처리하고 싶을 때는 스킨 폴더에 write_update.skin.php 파일을 추가하여 sql_query를 사용해 DB 값을 빈값으로 업데이트할 수 있습니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 제목 빈값 처리
sql_query(" update $write_table set wr_subject = '' where wr_id = '$wr_id' ");
// 내용 빈값 처리
sql_query(" update $write_table set wr_content = '' where wr_id = '$wr_id' ");
?>
3. 결과 확인
수정 후 글을 작성할 때 제목이나 내용 입력란이 노출되지 않으며, 설정한 hidden 값 또는 빈값이 정상적으로 저장되는지 확인합니다.
그누보드 글쓰기 폼 제목 및 내용 빈값 저장 처리 방법
그누보드 기본 글쓰기 폼에서 제목이나 내용을 단순히 숨기고 빈 상태로 두면 필수 입력 조건에 의해 경고창이 발생합니다. 고정 문구 대신 제목이나 내용을 완전히 빈값으로 저장하려면 write.skin.php에 숨김 필드와 입력란 삭제를 선행한 뒤, 스킨 폴더에 write_update.skin.php 파일을 추가하여 데이터베이스 값을 공백으로 보정해야 합니다.
1. 적용 방법
write.skin.php에서 입력란을 숨긴 후, 스킨 폴더에 write_update.skin.php 파일을 생성하여 아래 코드를 추가합니다. 이 코드는 글 작성 시 데이터베이스에 저장된 값을 강제로 비웁니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 제목 빈값 처리
sql_query(" update $write_table set wr_subject = '' where wr_id = '$wr_id' ");
// 내용 빈값 처리
sql_query(" update $write_table set wr_content = '' where wr_id = '$wr_id' ");
?>
필요에 따라 제목 또는 내용 중 빈값으로 처리할 항목만 선택해서 사용하세요.
2. 결과 확인
- 글 작성 완료 후 데이터베이스 및 게시글 목록에서 제목이나 내용이 빈값으로 정상 저장되는지 확인합니다.
특정 게시판 링크 입력 영역 숨기기 설정 방법
특정 게시판에서만 링크 입력 영역이 노출되지 않도록 제어하려면 게시판 스킨 파일인 write.skin.php 상단에 조건문을 추가해야 합니다.
설정 방법
- 수정할 스킨의
write.skin.php파일 상단의?>안쪽으로 이동합니다. - 아래와 같이
$bo_table조건문을 추가하여 해당 게시판 ID일 때$is_link값을false로 설정합니다.
if ($bo_table == '특정게시판id') $is_link = false;
예를 들어 notice 게시판에서만 링크 입력란을 숨기고 싶다면 다음과 같이 작성합니다.
if ($bo_table == 'notice') $is_link = false;
관리자에게는 링크 입력란을 유지하고 일반 회원과 비회원에게만 숨기려면 아래와 같이 조건을 함께 지정할 수 있습니다.
if (!$is_admin && $bo_table == 'notice') $is_link = false;
상황별 판단 및 행동 가이드
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
| 상담·예약 게시판에서 제목이나 내용을 숨기고 고정 문구를 자동 등록하고 싶음 | write.skin.php의 <form> 태그 내부에 hidden 타입으로 필수 필드 값을 지정하고 기존 입력 폼 HTML 영역을 통째로 삭제 | <input type="hidden" name="wr_subject" value="설정할 문구"> 추가 후 글 작성 시 자동 등록 여부 테스트 |
고정 문구 대신 제목이나 내용을 완전히 빈값('')으로 저장하고 싶음 | 기본 폼의 필수 값 검증 우회를 위해 스킨 폴더에 write_update.skin.php 파일을 생성하여 DB 값을 강제로 비우는 처리 병행 | 파일 내부에 sql_query(" update $write_table set wr_subject = '' where wr_id = '$wr_id' "); 작성 |
| 특정 게시판에서만 링크 입력 영역을 노출하지 않고 숨기고 싶음 | 전역 설정 대신 스킨 파일 상단에 게시판 ID 조건문 적용 | write.skin.php 상단 ?> 안쪽에 if ($bo_table == '특정게시판id') $is_link = false; 추가 |
실전 FAQ
Q. hidden 필드만 넣고 기존 입력 폼을 지웠는데 '제목을 입력하세요'라는 경고창이 계속 뜹니다.
- 예외 및 대안: 숨김 필드의
name속성값이 실제 게시판 테이블 필드명(wr_subject또는wr_content)과 정확히 일치하는지 확인해야 합니다. 만약 자바스크립트나 에디터 유효성 검사에서 가로막히는 경우,write_update.skin.php를 활용해 DB 레벨에서 값을 보정하거나 스킨 내 JS 검증 로직을 함께 확인해야 합니다.
Q. write_update.skin.php를 추가했는데도 빈값이 정상적으로 저장되지 않습니다.
- 막히는 지점:
write_update.skin.php파일이 올바른 게시판 스킨 폴더에 위치해 있는지, 파일 상단에if (!defined("_GNUBOARD_")) exit;보안 코드가 누락되지 않았는지 점검하세요. 또한$write_table과$wr_id변수가 정상적으로 전달되는 환경인지 확인해야 합니다.
함께 보면 좋은 글
- 그누보드 게시판 글쓰기 필수 입력 항목(제목·내용) 우회 및 강제 값 설정 방법
- 그누보드 특정 게시판 본문 내용 필수 입력 제약 해제 방법
- 그누보드 특정 게시판 내용 입력 필수값 제외 방법
참고자료
기타 참고자료
- 이전글그누보드 회원가입 폼에서 이름 항목 삭제 및 닉네임 대체 적용 방법 26.10.04
- 다음글그누보드 최신글 링크 새창 열기 및 주소 출력 방법 26.10.04
댓글목록
등록된 댓글이 없습니다.