로그인시에도 게시판 글쓰기할때 자신의 이름을 바꿀수 있게 하려고 합니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

로그인시에도 게시판 글쓰기할때 자신의 이름을 바꿀수 있게 하려고 합니다. 정보

로그인시에도 게시판 글쓰기할때 자신의 이름을 바꿀수 있게 하려고 합니다.

본문

로그인후에도 글수정시 자신의 이름을(혹은 닉네임) 바꾸거나 그대로 두거나 하려고 합니다.
아래와 같은코드를 적용했는데도 안나타 납니다.
제가 무슨 잘못한게 있는지요?
 
아래 적용코드
 
<? if ($is_member && !$is_admin) { //--관리자또는 로긴한회원 수정시  이름을 끄집어와라?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><INPUT class='field_pub_01' maxLength=20 size=20 name=wr_name itemname="이름" required value="<?=$member[mb_name]?>">
 </td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<? if ($is_name) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><INPUT class='field_pub_01' maxLength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>">
 </td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

댓글 전체

<? if ($is_member && !$is_admin) { //--관리자또는 로긴한회원 수정시  이름을 끄집어와라?>
윗부분부터 고쳐보세요. //뒤가 모두 코멘트로 처리되니까...;; //--관리자또는 로긴한회원 수정시  이름을 끄집어와라 <--이부분 지우고 해보세요..
그리고 wr_name 이 두번 사용되었는데, 이러면 에러나요... 의도하신바가 다음이 아닌지...

<? if ($is_member && !$is_admin) { ?>
<? if ($is_name) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><INPUT class='field_pub_01' maxLength=20 size=20 name=wr_name itemname="이름" required value="<?=$member[mb_name]?>">
 </td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<? } ?>

위처럼만 하시면 될듯 싶습니다..
비회원은 아래와같이 사용하게 합니다.
<? if ($is_name) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><INPUT class='field_pub_01' maxLength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>">
 </td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
그렇다면 else if 를 사용하셔야 합니다.

<? if ($is_member && !$is_admin) { //--관리자또는 로긴한회원 수정시  이름을 끄집어와라?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><INPUT class='field_pub_01' maxLength=20 size=20 name=wr_name itemname="이름" required value="<?=$member[mb_name]?>">
 </td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } else if (!$is_member && $is_name) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><INPUT class='field_pub_01' maxLength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>">
 </td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
많은 답변 너무 감사드립니다.
위와같이 적용을 했는데도 똑같이 안나옵니다...input 박스도 안나오는것이 이해가 안됩니다..ㅡ.ㅜ;;
^^...스킨에서 손보셔도 아니되시옵니다...

bbs/write_update.php..................

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 = "";
        // 비회원의 경우 이름이 누락되는 경우가 있음
        if (!trim($wr_name))
            alert("이름은 필히 입력하셔야 합니다.");
        $wr_password = sql_password($wr_password);
    }


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];
        }
    }


이부분을 참조해 보세요...^^
헉....이부분이 최신버전에서 바뀐건가요?

어쩐지....ㅡ.ㅜ;; 예전버전에서는 분명히 저렇게 해서 사용을 했는데 갑자기 안되어서 쳇바퀴 몇바퀴 돌았습니다.

감사합니다.
신경써주셔서 채택을 해드려야 하는데 정답에 가까운핵심을 알려주신 두개더 님께도 실례인것 같아서 앵무나라님에게는 다음에 꼭 해드리겠습니다.
감사합니다.
아마도 이부분을 해결하시려면 스킨에서 입력 및 수정할 수 있도록 하시고 write_update.skin.php에서
해당글에 입력받은 값을 다시 업데이트 하도록 하시면 해결되겠습니다....^^
이전에 쌍둥이게시판 기능을 활용할 때 write_update.skin.php에 작성했던 내용이,
fusion스킨의 배포시 남겼던 구문이 있습니다.


상단주소의 그림처럼 게시물 수정모드라면,
/bbs/write_update.php의 필드(여분필드 포함)를 끌어와 그것을 전체적으로 갱신하는 방법이 있습니다.

물론 그 조건문에는 /bbs/write_update.php에 다루어 졌듯이,
if ($w == 'u') { //수정된 글에 대해서만 적용하려면
  if (($write[mb_id] == $member[mb_id]) || $is_admin) {
  "실행구문";
  } else {
  "일반조건에 따른 실행구문";
  }
}
~ 과 같은 조건문이 명시되어야 한다는 것은 지극히 당연한 얘기가 됩니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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