코멘트 글쓸때 비회원 이미지 나오게 할려면..

코멘트 글쓸때 비회원 이미지 나오게 할려면..

QA

코멘트 글쓸때 비회원 이미지 나오게 할려면..

본문

코멘트 이미지에 기본 이미지를 넣어두고

비회원이 글을 쓰면 콘멘트 목록에 기본 이미지가 나오게 하고 싶은데요

지금은 그냥 기본 이미지가 보이지 않고 엑박이 뜨네요..

 

아시는 분 좀 알려주세요..

 

 

http://ktcpg.com/bbs/bbs/board.php?bo_table=1&wr_id=17

 

 

아래는 소스

 

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<script type="text/javascript">
// 글자수 제한
var char_min = parseInt(<?=$comment_min?>); // 최소
var char_max = parseInt(<?=$comment_max?>); // 최대
</script>

<!-- 코멘트 리스트 -->
<div id="commentContents" style=" position:relative; width:100%; ">
<h3 style=" margin:0 0 10px 0; padding:0 0 3px 0; letter-spacing:-1px; border-bottom:2px solid #ccc;">Comments <span style=" font-size:.8em; color:#ff4b0d;"><?=$view[comment_cnt]?></span></h3>

<?
for ($i=0; $i<count($list); $i++) {
 $comment_id = $list[$i][wr_id];
 $reply_len = strlen($list[$i][wr_comment_reply]);
 $reply_begin = "".($reply_len * 25 + 72)."px";
 $mb_dir = substr($list[$i]['mb_id'],0,2);
 $photo_file = $g4['path']."/data/member/".$mb_dir."/photo/".$list[$i]['mb_id'];
?>

<a name="c_<?=$comment_id?>"></a>

<div class="list" style="position:relative; margin-left:<?=$reply_begin?>; padding-right:-<?=$reply_begin?>px; border:1px solid #ddd; margin-bottom:6px; border-radius:6px; -webkit-border-radius:6px; -moz-border-radius:6px;">
<div style="position:absolute; left:-72px; top:0px;border:3px solid #E3E3E3;">
<img src="<?=$photo_file?>" width="60" height="60" /></div>
<div style="position:absolute; width:13px; height:16px; left:-12px; top:17px; background:url(<?=$board_skin_path?>/img/arrow_comment3.gif) 0 50% no-repeat;"></div>
<?
 if ($list[$i][wr_comment_reply]){
   echo "<span class=\"arrow\" style=\"position:absolute; width:12px; height:12px; top:10px; left:-87px; background:url({$board_skin_path}/img/arrow_comment.gif) 0 50% no-repeat;\"></span>";
 }
?>
  <div style="height:23px; line-height:28px; padding: 0 0 0 10px; margin:0;  clear:both;" >
    <div style="float:left;">
    <strong><?=$list[$i][name]?></strong>
    <span style="padding-left:5px; color:#333333; font-size:11px;"><?=$list[$i][datetime]?></span>
    </div>
    <div style="float:right; ">
    <? if ($is_ip_view) { echo " <span style=\"color:#B2B2B2; font-size:11px;\">{$list[$i][ip]}</span>"; } ?>
    <? if ($list[$i][is_reply]) { echo "<a href=\"javascript:comment_box('{$comment_id}', 'c');\"><img src='$board_skin_path/img/co_btn_reply.gif' border='0' align=absmiddle alt='답변'></a> "; } ?>
    <? if ($list[$i][is_edit]) { echo "<a href=\"javascript:comment_box('{$comment_id}', 'cu');\"><img src='$board_skin_path/img/co_btn_modify.gif' border='0' align=absmiddle alt='수정'></a> "; } ?>
    <? if ($list[$i][is_del])  { echo "<a href=\"javascript:comment_delete('{$list[$i][del_link]}');\"><img src='$board_skin_path/img/co_btn_delete.gif' border='0' align=absmiddle alt='삭제'></a> "; } ?>
     
    </div>
  </div><!-- //header -->

  <!-- 코멘트 출력 -->
  <div style=" line-height:20px; padding:10px 10px 10px 10px; word-break:break-all; overflow:hidden; clear:both; ">
    <?
    if (strstr($list[$i][wr_option], "secret")) echo "<span style='color:#ff6600;'>*</span> ";
    $str = $list[$i][content];
    if (strstr($list[$i][wr_option], "secret"))
        $str = "<span style='color:#ff6600;'>$str</span>";

    $str = 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>", $str);
    // FLASH XSS 공격에 의해 주석 처리 - 110406
    //$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp)\:\/\/([^[:space:]]+)\.(swf)\".*\<\/a\>\]/i", "<script>doc_write(flash_movie('$1://$2.$3'));</script>", $str);
    $str = preg_replace("/\[\<a\s*href\=\"(http|https|ftp)\:\/\/([^[:space:]]+)\.(gif|png|jpg|jpeg|bmp)\"\s*[^\>]*\>[^\s]*\<\/a\>\]/i", "<img src=\"$1://$2.$3\" id=\"target_resize_image[]\" onclick=\"image_window(this);\">", "$str");
    echo $str;
    ?>
    <? if ($list[$i][trackback]) { echo "<p>".$list[$i][trackback]."</p>"; } ?>
    <span id="edit_<?=$comment_id?>" style="display:none;"></span><!-- 수정 -->
    <span id="reply_<?=$comment_id?>" style="display:none;"></span><!-- 답변 -->
    </div>
   
    <input type="hidden" id="secret_comment_<?=$comment_id?>" value="<?=strstr($list[$i][wr_option],"secret")?>">
    <textarea id="save_comment_<?=$comment_id?>" style="display:none;"><?=get_text($list[$i][content1], 0)?></textarea>
  </div><!-- //list -->
<? } ?>

<? if ($is_comment_write) { ?>
<!-- 코멘트 입력 -->
<div id="comment_write" style=" position:relative; margin-left:72px; border:1px solid #d5d5d5; padding:0 10px 10px 10px; background:#F5F5F5; margin-bottom:6px; border-radius:6px; -webkit-border-radius:6px; -moz-border-radius:6px; display:none;">
<form name="fviewcomment" method="post" action="./write_comment_update.php" onsubmit="return fviewcomment_submit(this);" autocomplete="off" style=" position:relative; " >
<input type=hidden name=w           id=w value="c">
<input type=hidden name=bo_table    value="<?=$bo_table?>">
<input type=hidden name=wr_id       value="<?=$wr_id?>">
<input type=hidden name=comment_id  id="comment_id" value="">
<input type=hidden name=sca         value="<?=$sca?>" >
<input type=hidden name=sfl         value="<?=$sfl?>" >
<input type=hidden name=stx         value="<?=$stx?>">
<input type=hidden name=spt         value="<?=$spt?>">
<input type=hidden name=page        value="<?=$page?>">
<input type=hidden name=cwin        value="<?=$cwin?>">
<input type=hidden name=is_good     value="">
<div style=" position:absolute; width:70px; left:-82px; top:0;">
<?
$mb_dir = substr($member["mb_id"],0,2);
$photo_file = $g4["path"]."/data/member/".$mb_dir."/photo/".$member["mb_id"];

echo "<span style=\"position:absolute; width:13px; height:16px; top:50%; left:60px; background:url({$board_skin_path}/img/arrow_comment2.gif) 0 50% no-repeat;\"></span>";

if (file_exists($photo_file)) {
    echo "<img src='".$photo_file."' style='border:3px solid #E3E3E3'>";
} else {
    echo "<img src='".$board_skin_path."/img/member_noimg.gif' style='border:3px solid #E3E3E3'></span>";


}
?>

<? if($is_member){?>
<div style=" padding:5px 0 0 5px;"><a href="javascript:member_photo();" class="button">Edit</a></div>
<? }?>
</div>

<div class="wr_content" style=" margin-right:100px;">

<div style=" height:18px; padding:5px 0 5px 0; margin:0; vertical-align:top;">
 <span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 5);" class="icon up"></span>
 <span style="cursor: pointer;" onclick="textarea_original('wr_content', 5);" class="icon init"></span>
 <span style="cursor: pointer;" onclick="textarea_increase('wr_content', 5);" class="icon down"></span>
    <input type=checkbox id="wr_secret" name="wr_secret" value="secret"><span style=" color:#333">Select</span>
</div>

<textarea id="wr_content" name="wr_content" rows="7" itemname="Comment" required <? if ($comment_min || $comment_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<? }?> style=" width:100%; border:1px solid #bebebe;"></textarea>
  <? if ($comment_min || $comment_max) { ?><script type="text/javascript"> check_byte('wr_content', 'char_count'); </script><? }?>
 
 <? if ($is_guest) { ?>
    <p style=" margin-top:8px; ">
  <span style=" color:#333">Name</span> <INPUT type=text maxLength=30 size=30 style="height:25px; width:80px" name="wr_name" itemname="Name" required />
  <span style=" color:#333;">Password</span> <INPUT type=password maxLength=20 size=10 style="height:25px; width:80px" name="wr_password" itemname="Password" required />
  <img id="kcaptcha_image" align="absmiddle"/>
  <input title="왼쪽의 글자를 입력하세요." type="input" name="wr_key" size="10"style="height:25px; width:80px"  itemname="Automatic registration protection" required />
 </p>
 <? } ?>
</div>

<div style=" position:absolute; top:27px; right:0; width:90px; ">
<input type="submit" value="Comment" accesskey="s" class="button" style=" width:90px; height:110px; float:right;" />
<!--  <a href="javascript:good_and_write()"><input type="submit" value="댓글+추천" accesskey="s" class="button" style=" width:90px; float:right; margin-top:2px;" /></a>-->
</div>

</form>
</div>
</div>

<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>
<script type="text/javascript">
function member_photo()
{
    window.open("<?=$board_skin_path?>/plugin/member_photo/member.photo.php", "회원사진변경", "width=450, height=210, scrollbars=auto, menubar=no");
}


var save_before = '';
var save_html = document.getElementById('comment_write').innerHTML;

function good_and_write()
{
    var f = document.fviewcomment;
    if(fviewcomment_submit(f))
    {
        f.is_good.value = 1;
        f.submit();
    }
    else
    {
        f.is_good.value = 0;
    }
}

function fviewcomment_submit(f)
{
    var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자

    f.is_good.value = 0;

    var subject = "";
    var content = "";
    $.ajax({
        url: "<?=$board_skin_path?>/ajax.filter.php",
        type: "POST",
        data: {
            "subject": "",
            "content": f.wr_content.value
        },
        dataType: "json",
        async: false,
        cache: false,
        success: function(data, textStatus) {
            subject = data.subject;
            content = data.content;
        }
    });

   /*
    if (content) {
        alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
        f.wr_content.focus();
        return false;
    }
    */


    // 양쪽 공백 없애기
    var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
    document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern, "");
    if (char_min > 0 || char_max > 0)
    {
        check_byte('wr_content', 'char_count');
        var cnt = parseInt(document.getElementById('char_count').innerHTML);
        if (char_min > 0 && char_min > cnt)
        {
            alert("코멘트는 "+char_min+"글자 이상 쓰셔야 합니다.");
            return false;
        } else if (char_max > 0 && char_max < cnt)
        {
            alert("코멘트는 "+char_max+"글자 이하로 쓰셔야 합니다.");
            return false;
        }
    }
    else if (!document.getElementById('wr_content').value)
    {
        alert("코멘트를 입력하여 주십시오.");
        return false;
    }

    if (typeof(f.wr_name) != 'undefined')
    {
        f.wr_name.value = f.wr_name.value.replace(pattern, "");
        if (f.wr_name.value == '')
        {
            alert('이름이 입력되지 않았습니다.');
            f.wr_name.focus();
            return false;
        }
    }

    if (typeof(f.wr_password) != 'undefined')
    {
        f.wr_password.value = f.wr_password.value.replace(pattern, "");
        if (f.wr_password.value == '')
        {
            alert('패스워드가 입력되지 않았습니다.');
            f.wr_password.focus();
            return false;
        }
    }

    if (!check_kcaptcha(f.wr_key)) {
        return false;
    }

    return true;
}


function comment_box(comment_id, work)
{
    var el_id;
    // 코멘트 아이디가 넘어오면 답변, 수정
    if (comment_id)
    {
        if (work == 'c')
            el_id = 'reply_' + comment_id;
        else
            el_id = 'edit_' + comment_id;
    }
    else
        el_id = 'comment_write';

    if (save_before != el_id)
    {
        if (save_before)
        {
            document.getElementById(save_before).style.display = 'none';
            document.getElementById(save_before).innerHTML = '';
        }

        document.getElementById(el_id).style.display = '';
        document.getElementById(el_id).innerHTML = save_html;
        // 코멘트 수정
        if (work == 'cu')
        {
            document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
            if (typeof char_count != 'undefined')
                check_byte('wr_content', 'char_count');
            if (document.getElementById('secret_comment_'+comment_id).value)
                document.getElementById('wr_secret').checked = true;
            else
                document.getElementById('wr_secret').checked = false;
        }

        document.getElementById('comment_id').value = comment_id;
        document.getElementById('w').value = work;

        save_before = el_id;
    }

    if (typeof(wrestInitialized) != 'undefined')
        wrestInitialized();

    //jQuery(this).kcaptcha_load();
    if (comment_id && work == 'c')
        $.kcaptcha_run();
}

function comment_delete(url)
{
    if (confirm("이 코멘트를 삭제하시겠습니까?")) location.href = url;
}

comment_box('', 'c'); // 코멘트 입력폼이 보이도록 처리하기위해서 추가 (root님)
</script>
<? } ?>

<? if($cwin==1) { ?>
  <p align=center><a href="javascript:window.close();" class="button">창닫기</a><br><br>
<? }?>​

이 질문에 댓글 쓰기 :

답변 3

 

20번 라인을

수정전

$photo_file = $g4['path']."/data/member/".$mb_dir."/photo/".$list[$i]['mb_id']; 

 

수정후

if($list[$i]['mb_id']){

$photo_file = $g4['path']."/data/member/".$mb_dir."/photo/".$list[$i]['mb_id']; 

}else{

$photo_file = $board_skin_path."/img/member_noimg.gif";

}

 

 

22줄 부분에

 

<div style="position:absolute; left:-72px; top:0px;border:3px solid #E3E3E3;">

<img src="<?=$photo_file?>" width="60" height="60" /></div>

 

부분을

 

<div style="position:absolute; left:-72px; top:0px;border:3px solid #E3E3E3;">

<? if($is_member) { ?>

<img src="<?=$photo_file?>" width="60" height="60" /></div>

<? } else { ?>

<img src="<?=$board_skin_path?>/img/member_noimg.gif"></div>

<? } ?> 

 

으로 바꿔보시겠어요?

이리 수정을 하면
비회원으로 글을 적으면 기본 이미지로 해서 잘 나오는데

회원으로 가입해서 이미지 등록해서 글을 쓴 사람들까지
기본이미지로 나오네요
이 사람들은 올린 이미지가 나와야 하는데..

디렉토리와 파일을 못가져 오네요

$mb_dir = substr($member["mb_id"],0,2); 디렉토리를 substr를 써서 왜 자르지요?

 

$mb_dir = $list[$i]['mb_id'] 이렇게 해야 하는데요

 

$member[mb_id]로 하면 현재 로그인한 사람의 아이콘으로 모두 바껴요 

$mb_dir이 아래에도 있는데 for문으로 감싸야 되요

 

비회원 이미지는 따로 /img 폴더에 저장하고 불러오면 될것 같은데요

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 194
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT