댓글을 수정하면 새로운 댓글로 입력됩니다.
/bbs/write_comment_update.php는 손도 안댔고, view_comment.skin.php에 블라인드 댓글 처리부분만 만들어 넣었습니다.
제가 수정한 부분은 9-17, 27, 47-51줄 입니다.
고수님들 도움을 부탁드립니다.
Copy
<section id="bo_vc"> <h2>댓글목록</h2> <?php $cmt_amt = count($list); for ($i=0; $i<$cmt_amt; $i++) { $comment_id = $list[$i]['wr_id']; $cmt_depth = ""; // 댓글단계 $cmt_depth = strlen($list[$i]['wr_comment_reply']) * 20; $cond_vc = $blind_msg = ''; if ($list[$i]['wr_blind']=='blind') { $list[$i]['is_reply'] = $list[$i]['is_edit'] = ''; $cond_vc = ' class="blind_vc" '; if (!$is_admin) { $list[$i]['is_del'] = ''; $blind_msg = '블라인드 처리된 댓글입니다.'; } } $comment = $list[$i]['content']; /* if (strstr($list[$i]['wr_option'], "secret")) { $str = $str; } */ $comment = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $comment); $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 ?> <article id="c_<?php echo $comment_id ?>" <?php echo $cond_vc; if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-top-color:#e0e0e0"<?php } ?>> <header style="z-index:<?php echo $cmt_sv; ?>"> <h1><?php echo get_text($list[$i]['wr_name']); ?>님의 댓글</h1> <?php echo $list[$i]['name'] ?> <?php if ($cmt_depth) { ?><img src="<?php echo $board_skin_url ?>/img/icon_reply.gif" class="icon_reply" alt="댓글의 댓글"><?php } ?> <?php if ($is_ip_view) { ?> 아이피 <span class="bo_vc_hdinfo"><?php echo $list[$i]['ip']; ?></span> <?php } ?> 작성일 <span class="bo_vc_hdinfo"><time datetime="<?php echo date('Y-m-d\TH:i:s+09:00', strtotime($list[$i]['datetime'])) ?>"><?php echo $list[$i]['datetime'] ?></time></span> <?php include(G5_SNS_PATH.'/view_comment_list.sns.skin.php'); ?> </header> <!-- 댓글 출력 --> <p> <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/icon_secret.gif" alt="비밀글"><?php } ?> <?php if ($blind_msg) echo $blind_msg; else echo $comment; ?> </p> <span id="edit_<?php echo $comment_id ?>"></span><!-- 수정 --> <span id="reply_<?php echo $comment_id ?>"></span><!-- 답변 --> <input type="hidden" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>" id="secret_comment_<?php echo $comment_id ?>"> <textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea> <?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) { $query_string = str_replace("&", "&", $_SERVER['QUERY_STRING']); if($w == 'cu') { $sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' "; $cmt = sql_fetch($sql); $c_wr_content = $cmt['wr_content']; } $c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w'; $c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; ?> <footer> <ul class="bo_vc_act"> <?php if ($list[$i]['is_reply']) { ?><li><a href="<?php echo $c_reply_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'c'); return false;">답변</a></li><?php } ?> <?php if ($list[$i]['is_edit']) { ?><li><a href="<?php echo $c_edit_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'cu'); return false;">수정</a></li><?php } ?> <?php if ($list[$i]['is_del']) { ?><li><a href="<?php echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><?php } ?> </ul> </footer> <?php } ?> </article> <?php } ?> <?php if ($i == 0) { //댓글이 없다면 ?> <p id="bo_vc_empty">등록된 댓글이 없습니다.</p> <?php } ?> </section>
답변 3개 / 댓글 4개
채택된 답변
+20 포인트
스킨 자체 문제입니다...
댓글쓸때 비밀글 기능이 빠져있을경우 생기는 현상입니다.
댓글 적는부분에서 원본 스킨 보고 비밀댓글 기능 추가 해보신후 다시 해보세요.
답변에 대한 댓글 4개
저도 같은 경험으로 고생좀 했는데 저의 경우는...
view_comment.skin.php 파일 중간쯤
...
<input type="hidden" name="w" value="<?php echo $w ?>" id="w">
... 이 값이 수정버튼을 클릭하면 아래 스크립트에서 'cu'로 변경 시켜 줍니다
<script>
function comment_box(comment_id, work) {
...
document.getElementById('w').value = work;
...
}
</script>
그런데 문제는 이 값이 변경이 안되는 겁니다.
원인은 include한 파일중에서 "w"란 id로 또 다른 오브젝트가 존재했기 때문이었지요
답변을 작성하려면 로그인이 필요합니다.