답변글을 쓸 때, wr_name 항목을 받아오지 못합니다.

답변글을 쓸 때, wr_name 항목을 받아오지 못합니다.

QA

답변글을 쓸 때, wr_name 항목을 받아오지 못합니다.

답변 1

본문

외부에서 PHP파일을 통해 게시글을 작성하도록 작성했습니다.

 

이 게시글이 admin ID를 통해 등록되다보니, write_update.php를 통해 답글을 달다보니

 

// 자신의 글이라면
        if ($member[mb_id] == $wr[mb_id])
        {
            $mb_id = $member[mb_id];
            $wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];

        }

 

이 부분에서 분기를 타서 wr_name이 admin으로 설정이 됩니다.

 

답변이 작성되었을 때, 원 작성자의 wr_name을 설정하게 하려고 

 

$wr_name = $board[bo_use_name] ? $wr_name : $member[mb_nick]; 로 변경을 하면

 

$wr_name이 공백으로 출력됩니다.

 

$wr_name을 공백으로 출력되지 않게 하거나 wrtie_update.php에 $wr_name을 토스시키려면

 

어떻게 해야 될런지 다른 분들의 조언 부탁드립니다.

 


//답변 작성하는 스킨 페이지
<form name="fwrite" method="post" onsubmit="return fwrite_submit(this);" enctype="multipart/form-data">
                <input type=hidden name=null> 
                <input type=hidden name=w        value="<?=$w?>">
                <input type=hidden name=bo_table value="<?=$bo_table?>">
                <input type=hidden name=wr_id    value="<?=$wr_id?>">
                <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=sst      value="<?=$sst?>">
                <input type=hidden name=sod      value="<?=$sod?>">
                <input type=hidden name=page     value="<?=$page?>">
                <input type=hidden name=secret     value="secret">
                <input type=hidden name=wr_1     value="<?=$write[wr_1]?>">
                <input type=hidden name=wr_name     value="<?=$wr_name?>">
                <div id=brd_col>
                    <colgroup width=80 />
                    <colgroup width='' />
                    <? if ($is_name) { ?>
                    <ul>
                        <li class=brd_col1>작성자</li>
                        <li class=brd_col2><input class='box01' maxlength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>"></li>
                    </ul>
                    <? } ?>
                    <? if ($is_category) { ?>
                    <ul>
                        <li class=brd_col1>상태</li>
                        <li class=brd_col2><select name=ca_name required itemname="분류"><option value="">선택하세요<?=$category_option?></select></li>
                    </ul>
                    <? } ?>
                    <ul style='display:none;'>
                        <li class=brd_col1>나이</li>
                        <li class=brd_col2><input class='box01' style="width:100%;" name=wr_1 id="wr_1" itemname="제목" required value="<?=$write[wr_1]?>"></li>
                    </ul>
                    <ul style='display:;'>
                        <li class=brd_col1>핸드폰</li>
                        <li class=brd_col2><input class='box01' style="width:100%;" name=wr_subject id="wr_subject" itemname="제목" required value="<?=$subject?>"></li>
                    </ul>
                    <ul style='display:;'>
                        <li class=brd_col1>내용</li>
                        <li class=brd_col2><textarea class='box01' style="width:100%;border:none;" name=wr_content id="wr_content" itemname="제목" required value="" readonly><?=$content?></textarea></li>
                    </ul>
                </div>
            <div style='clear:both; float:left;width:100%;height:220px;'>
                <textarea id="wr_10" name="wr_10"  style="font-family:굴림체; color:#000; line-height:110%;margin:auto; margin-top:20px; overflow: hidden; width:90%; height:100px; font-size: 9pt; border:3; background-color:transparent;" cols="16" itemname="답변"  class='lcd' <? if(!$write[wr_10]){?>onclick='NSMS_doClear(this)' onselect='NSMS_doClear(this)' onkeyup='NSMS_calByte(this)'<?}else{?>readonly<?}?> 
            <? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_10', 'char_count');"<?}?>><?=$write[wr_10]?></textarea>
        
            </div>
    </div>
            </div>
            <div class='board_button'>               
                <input type=submit class='button_01' value='답변완료' id="btn_submit" accesskey='s'>
                <input type=button class='button_01' value='목록' onClick='location.href="./board.php?bo_table=<?=$bo_table?>"'>
            </div>
 </form> 
 

이 질문에 댓글 쓰기 :

답변 1


            if($w=="r" && $wr['wr_name'])
                $wr_name = $wr['wr_name']    ;
            else
                $wr_name = $board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick'];

로 변경하세요..

 

그리고 게시글에 예시된 부분은 글 수정 시 체크하는 부분이고요.

 

답변글 등록 시 개인정보 확인하는 부분은 아래와 같습니다.

   

 

저의 설치된 버전 기준으로 285라인 부터 있네요. 

 



if ($w == '' || $w == 'r') {
    if ($member['mb_id']) {
        $mb_id = $member['mb_id'];
        $wr_name = $board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick'];
        $wr_password = $member['mb_password'];
        $wr_email = $member['mb_email'];
        $wr_homepage = $member['mb_homepage'];
    } else {
        $mb_id = '';
        // 비회원의 경우 이름이 누락되는 경우가 있음
        $wr_name = trim($_POST['wr_name']);
        if (!$wr_name)
            alert('이름은 필히 입력하셔야 합니다.');
        $wr_password = sql_password($wr_password);
    }
    if ($w == 'r') {
        // 답변의 원글이 비밀글이라면 비밀번호는 원글과 동일하게 넣는다.
        if ($secret)
            $wr_password = $wr['wr_password'];
        $wr_id = $wr_id . $reply;
        $wr_num = $write['wr_num'];
        $wr_reply = $reply;
    } else {
        $wr_num = get_next_num($write_table);
        $wr_reply = '';
    } 
 

if ($w == '' || $w == 'r') {

    if ($member['mb_id']) {
        $mb_id = $member['mb_id'];

        if($w=="r" && $wr[wr_name])
              $wr_name = $wr[wr_name];
          else
              $wr_name = $board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick'];


        $wr_password = $member['mb_password'];
        $wr_email = $member['mb_email'];
        $wr_homepage = $member['mb_homepage'];

이렇게 변경된거 맞나요?? 테스트해봣는데 잘 되던데;;;

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 55
© SIRSOFT
현재 페이지 제일 처음으로