채택완료

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

2014-08-13 (수) 15:09:25 5,491

외부에서 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을 토스시키려면

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

Copy
//답변 작성하는 스킨 페이지<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개 / 댓글 6개

채택된 답변
+20 포인트
2014-08-13 (수) 15:27:40
Copy
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라인 부터 있네요. 

Copy
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 = '';    }
 

답변에 대한 댓글 6개

아뇨.. 이거보다 위에 잇어요..
이 부분은 글 수정 시입니다.
제가 글 지우고 다시 쓰는 시간이 엇갈려서 글이 엇등록되었네요.

변경해야 될 부분이

if ($member['mb_id']) {

이 구문에 들어가야 되는지를 여쭤보는 내용인데, 제가 헷갈리게 썼네요.
ㅎㅎㅎ 맞습니다.
그부붅에 넣으면 되요.
음...저 부분에 값을 넣어도 계속 admin으로 처리가 되네요...
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'];

이렇게 변경된거 맞나요?? 테스트해봣는데 잘 되던데;;;
외부 파일 이용해서 등록하다보니 $w가 r로 인식되는 게 아니라, u로 인식되었었네요.

$w == 'u' 쪽에 적용하니 정상적으로 인식되네요!!!

감사합니다.

답변을 작성하려면 로그인이 필요합니다.