php파일로 게시글을 등록한 후, 답글을 달았을 때 관련 질문입니다.

php파일로 게시글을 등록한 후, 답글을 달았을 때 관련 질문입니다.

QA

php파일로 게시글을 등록한 후, 답글을 달았을 때 관련 질문입니다.

본문

php파일로 게시글을 등록했는데, 그 때 사용한 mb_id 가 관리자 아이디인 admin입니다.

 

이 글에 관리자로 답글을 달면, 기존에 글에 적용된 wr_1,wr_2 같은 기타 필드의 값이 다 날아갑니다.

 

그래서 원인을 찾아보니

 


else if ($w == "u") 
{
    if ($member[mb_id]) 
    {
        // 자신의 글이라면
        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_email = $member[mb_email];
            $wr_homepage = $member[mb_homepage];
        } 
        else
        {
            $mb_id = $wr[mb_id];
            $wr_name = $wr[wr_name];
            $wr_email = $wr[wr_email];
            $wr_homepage = $wr[wr_homepage];
        }
    } 
    else 
    {
        $mb_id = "";
        // 비회원의 경우 이름이 누락되는 경우가 있음
        //if (!trim($wr_name)) alert("이름은 필히 입력하셔야 합니다.");
    }
    $sql_password = $wr_password ? " , wr_password = '".sql_password($wr_password)."' " : "";
    $sql_ip = "";
    if (!$is_admin)
        $sql_ip = " , wr_ip = '$_SERVER[REMOTE_ADDR]' ";
    $sql = " update $write_table
                set ca_name = '$ca_name',
                    wr_option = '$html,$secret,$mail',
                    wr_subject = '$wr_subject',
                    wr_content = '$wr_content',
                    wr_link1 = '$wr_link1',
                    wr_link2 = '$wr_link2',
                    mb_id = '$mb_id',
                    wr_name = '$wr_name',
                    wr_email = '$wr_email',
                    wr_homepage = '$wr_homepage',
                    wr_1 = '$wr_1',
                    wr_2 = '$wr_2',
                    wr_3 = '$wr_3',
                    wr_4 = '$wr_4',
                    wr_5 = '$wr_5',
                    wr_6 = '$wr_6',
                    wr_7 = '$wr_7',
                    wr_8 = '$wr_8',
                    wr_9 = '$wr_9',
                    wr_10= '$wr_10'
                    $sql_ip
                    $sql_password
              where wr_id = '$wr[wr_id]' ";
    sql_query($sql);
    // 분류가 수정되는 경우 해당되는 코멘트의 분류명도 모두 수정함
    // 코멘트의 분류를 수정하지 않으면 검색이 제대로 되지 않음
    $sql = " update $write_table set ca_name = '$ca_name' where wr_parent = '$wr[wr_id]' ";
    sql_query($sql);
    if ($notice) 
    {
        //if (!preg_match("/[^0-9]{0,1}{$wr_id}[\r]{0,1}/",$board[bo_notice])) 
        if (!in_array((int)$wr_id, $notice_array))
        {
            $bo_notice = $wr_id . '\n' . $board[bo_notice];
            sql_query(" update $g4[board_table] set bo_notice = '$bo_notice' where bo_table = '$bo_table' ");
        }
    } 
    else 
    {
        $bo_notice = '';
        for ($i=0; $i<count($notice_array); $i++)
            if ((int)$wr_id != (int)$notice_array[$i])
                $bo_notice .= $notice_array[$i] . '\n';
        $bo_notice = trim($bo_notice);
        //$bo_notice = preg_replace("/^".$wr_id."[\n]?$/m", "", $board[bo_notice]);
        sql_query(" update $g4[board_table] set bo_notice = '$bo_notice' where bo_table = '$bo_table' ");
    }
} 

 

이 구문에서 체크를 해서, 글이 아예 덮어씌워지는 거 같은데

 

이럴 경우, 해당 테이블만 따로 체크를 해서 

 

$wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];

 

이 부분이라도 기존의 wr_name을 사용하게 하려면 어떻게 해야 될지

 

다른 분들의 조언 부탁드립니다. 

이 질문에 댓글 쓰기 :

답변 1

phpmyadmin으로 해당게시판의 wr_id, wr_num, wr_parent 의 번호들이 제대로 입력되어 있는지 확인하세요.

 

아니면 다른 게시판의 wr_id, wr_num, wr_parent ​비교해 보세요.

 

 

wr_id, wr_num, wr_parent 가 잘못 입력되거나 엉켜서 그런 오류가 나는듯...

저는 이 부분때문에 이상하다고 보여진 건데


else if ($w == "u")
{
  if ($member[mb_id])
  {
    // 자신의 글이라면
    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_email = $member[mb_email];
        $wr_homepage = $member[mb_homepage];
    } 


이 부분보단 다른 부분을 봐야 되는 게 맞을까요?

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

회원로그인

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