
팁과노하우
[리빌더 버그 수정] 보낸쪽지 확인 불가
리빌더에서 보낸쪽지를 확인할 수 없는 버그가 있습니다.
제 환경에서만 그런지는 모르겠으나, 리빌더 데모 사이트에서도 동일한 현상으로 보아 같은 버그인 듯 합니다.
문제되는 파일 : bbs/memo_view.php
문제가 발생하는 이유
- 받고, 보낸 쪽지에 따른 분기문 바깥에서 아래의 쿼리로 모든 경우에서 받은사람의 아이디를 현재접속한 계정의 아이디로 검색합니다.
- 이런 경우 받은쪽지를 볼 경우에는 당연히 접속한 계정의 id로 받은 쪽지를 검색하니, 문제가 발생되지 않습니다.
- 다만, 보낸 쪽지의 경우 내가 나에게 보낸 쪽지가 아닌이상 받은사람은 다른 사람인데, 내 아이디를 검색하니 정상의 경우가 아닙니다.
해결 방법
1. 39번째 줄에 있는 아래 구문을 삭제하세요.
$c = sql_fetch (" select COUNT(*) as cnt from {$g5['memo_table']} where me_id = '$me_id' and me_recv_mb_id = '{$member['mb_id']}' ");
2. 37번째줄 $memo = sql_fetch($sql); 구문 아래에 다음 코드를 추가하세요.
$qry = sql_query($sql);
$memo_count = sql_num_rows($qry);
3. 바로 다음의 if($c['cnt'] < 1) { 구문을 if($memo_count < 1) { 으로 변경해주세요.
수정 된 코드
<?php
include_once('./_common.php');
if (!$is_member)
alert('회원만 이용하실 수 있습니다.');
$me_id = isset($_REQUEST['me_id']) ? (int) $_REQUEST['me_id'] : 0;
if ($kind == 'recv')
{
$t = '받은';
$unkind = 'send';
$sql = " update {$g5['memo_table']}
set me_read_datetime = '".G5_TIME_YMDHIS."'
where (me_id = '$me_id' or me_send_id = '$me_id' )
and me_recv_mb_id = '{$member['mb_id']}'
and me_read_datetime = '0000-00-00 00:00:00' ";
sql_query($sql);
$sql = " update `{$g5['member_table']}` set mb_memo_cnt = '".get_memo_not_read($member['mb_id'])."' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
}
else if ($kind == 'send')
{
$t = '보낸';
$unkind = 'recv';
}
else
{
alert($kind.' 값을 넘겨주세요.');
}
$sql = " select * from {$g5['memo_table']}
where me_id = '$me_id'
and me_{$kind}_mb_id = '{$member['mb_id']}' ";
$memo = sql_fetch($sql);
$qry = sql_query($sql);
$memo_count = sql_num_rows($qry);
if($memo_count < 1) {
alert('삭제 되었거나 존재하지 않는 쪽지 입니다.');
}
- 이전글내가 쓴 글이 아니라면 읽기 금지 설정2025.09.02
- 다음글리스트에서 제목 OOO 표시 하기2025.07.29
댓글목록

