스마트에디터에서 내용을 안써도 넘어가게 하기 위해 소스를 봤더니
write_update.php 에
Copy
$wr_content = '';
if (isset($_POST['wr_content'])) {
$wr_content = substr(trim($_POST['wr_content']),0,65536);
$wr_content = preg_replace("#[\\\]+$#", "", $wr_content);
if (function_exists('normalize_utf8_string')) {
$wr_content = normalize_utf8_string($wr_content);
}
}
if ($wr_content == '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
이런 부분이 있네요 당연히
$msg[] = '<strong>내용</strong>을 입력하세요.';
만 주석처리하면 넘어갈줄 알았더니
페이지 자체가 에러가 나네요
어떻게 하면 이 부분을 본문내용 없어도 그냥 통과시킬 수 있을까요?
|
답변 7개 / 댓글 1개
채택된 답변
+20 포인트
3주 전
$wr_content = '';
if (isset($_POST['wr_content'])) {
$wr_content = trim($_POST['wr_content']);
// UTF-8 안전 처리
if (function_exists('mb_substr')) {
$wr_content = mb_substr($wr_content, 0, 65536, 'UTF-8');
} else {
$wr_content = substr($wr_content, 0, 65536);
}
// 불필요한 역슬래시 제거
$wr_content = rtrim($wr_content, "\\");
// UTF-8 정규화 (존재할 때만)
if (function_exists('normalize_utf8_string')) {
$wr_content = normalize_utf8_string($wr_content);
}
}
if ($wr_content === '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
if (isset($_POST['wr_content'])) {
$wr_content = trim($_POST['wr_content']);
// UTF-8 안전 처리
if (function_exists('mb_substr')) {
$wr_content = mb_substr($wr_content, 0, 65536, 'UTF-8');
} else {
$wr_content = substr($wr_content, 0, 65536);
}
// 불필요한 역슬래시 제거
$wr_content = rtrim($wr_content, "\\");
// UTF-8 정규화 (존재할 때만)
if (function_exists('normalize_utf8_string')) {
$wr_content = normalize_utf8_string($wr_content);
}
}
if ($wr_content === '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
4주 전
선생님 특정한 게시판에서만 내용부분이 필요없다면 해당 스킨를 따로 관리하시는게 낮지않나요?
하여 그냥 공용코어를 건들지말고 write.skin.php 하단에 스크립트 보시면 내용관련부분만 지워버리던가 폼버튼처리 이버튼함수를 모두 지우고 다음과 같이해보세요
function fwrite_submit(f) { if (f.wr_content.value.trim() === "") { f.wr_content.value = "내용없음"; } return true; }
그리고 내용입력부분에서
<div class="write_div"style="display:none"> 이렇게 처리하면됩니다. 뷰페이지도 none 똑같습니다.
만약
코어에서 해결을 하고자한다면
선생님 제시한 부분을 모두다 지우시고
if ($wr_content == '') { $wr_content = ' '; } 이렇게하시면됩니다.
하여 그냥 공용코어를 건들지말고 write.skin.php 하단에 스크립트 보시면 내용관련부분만 지워버리던가 폼버튼처리 이버튼함수를 모두 지우고 다음과 같이해보세요
function fwrite_submit(f) { if (f.wr_content.value.trim() === "") { f.wr_content.value = "내용없음"; } return true; }
그리고 내용입력부분에서
<div class="write_div"style="display:none"> 이렇게 처리하면됩니다. 뷰페이지도 none 똑같습니다.
만약
코어에서 해결을 하고자한다면
선생님 제시한 부분을 모두다 지우시고
if ($wr_content == '') { $wr_content = ' '; } 이렇게하시면됩니다.
if ($wr_content == '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
php 7.x 이상이시면 위 코드 바로 위에 아래 코드 넣어보세요.
$wr_content = $wr_content ?? ' ';
테스트는 안 해봤습니다.
밤비1221
4주 전
// if ($wr_content == '') {
// $msg[] = '<strong>내용</strong>을 입력하세요.';
// }
이렇게 주석처리 하시거나,
if ($wr_content == '') {
$wr_content = ' '; // 공백 1칸
}
이렇게 변경하세요~
4주 전
https://sir.kr/jobs/requests
위 가시면 10~20만원 정도면 해주실문 있씁니다
돈 쓰기 머하시면
https://sir.kr/boards/developers_pr/13
저의 연락처가 있씁니다
연락주시면 같이 고민해드릴게요
참고로
위작업을 하려면
skin/board/게시판스킨/write.skin.php
function fwrite_submit(f)
{
이안에 내용을 수정 해야하고
}
bbs/write_update.php
$wr_content = '';
if (isset($_POST['wr_content'])) {
$wr_content = substr(trim($_POST['wr_content']),0,65536);
$wr_content = preg_replace("#[\\\]+$#", "", $wr_content);
if (function_exists('normalize_utf8_string')) {
$wr_content = normalize_utf8_string($wr_content);
}
}
if ($wr_content == '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
내용을 수정 하면 되지만
다른 게시판도 영향을 미치기때문에
조건문으로 하고자 하는 게시판만 내용변수 즉
$wr_content 의 내용을 변경 하거나 채크 안하도록
수정 해야합니다
위 가시면 10~20만원 정도면 해주실문 있씁니다
돈 쓰기 머하시면
https://sir.kr/boards/developers_pr/13
저의 연락처가 있씁니다
연락주시면 같이 고민해드릴게요
참고로
위작업을 하려면
skin/board/게시판스킨/write.skin.php
function fwrite_submit(f)
{
이안에 내용을 수정 해야하고
}
bbs/write_update.php
$wr_content = '';
if (isset($_POST['wr_content'])) {
$wr_content = substr(trim($_POST['wr_content']),0,65536);
$wr_content = preg_replace("#[\\\]+$#", "", $wr_content);
if (function_exists('normalize_utf8_string')) {
$wr_content = normalize_utf8_string($wr_content);
}
}
if ($wr_content == '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
내용을 수정 하면 되지만
다른 게시판도 영향을 미치기때문에
조건문으로 하고자 하는 게시판만 내용변수 즉
$wr_content 의 내용을 변경 하거나 채크 안하도록
수정 해야합니다
4주 전
그렇게 하지마시고
해당 스킨에 write_update.head.skin.php 하나 만드시고
$wr_content = empty($wr_content) ? ' ' : $wr_content;
이거 한줄 넣어보세요.
본문이 비어있다면 ' ' 공백을 하나 넣는겁니다..
해당 스킨에 write_update.head.skin.php 하나 만드시고
$wr_content = empty($wr_content) ? ' ' : $wr_content;
이거 한줄 넣어보세요.
본문이 비어있다면 ' ' 공백을 하나 넣는겁니다..
스쿨가라미
4주 전
주석처리는 if 문 자체를 해주는게 맞을거고요.
그래도 $msg 배열 입력부분 주석처리 정상으로 하셨다면 결과는 동일할 수 있는데,
에러 메시지는 어떤 에러메시지가 나던가요?
그래도 $msg 배열 입력부분 주석처리 정상으로 하셨다면 결과는 동일할 수 있는데,
에러 메시지는 어떤 에러메시지가 나던가요?
답변에 대한 댓글 1개
스쿨가라미
4주 전
답변을 작성하려면 로그인이 필요합니다.
$wr_content = ' ';
}
이렇게 수정해도 되곘네요.