회원이라도 글작성시 글쓴이란에 입력하기 > 그누4 질문답변

그누4 질문답변

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

회원이라도 글작성시 글쓴이란에 입력하기 정보

회원이라도 글작성시 글쓴이란에 입력하기

본문

비회원이 글쓰기를 할경우 본인이 글쓴이란에 작성한 이름이 나오는데,
회원일 경우 자동으로 회원가입때 입력한 이름이 나오잖아요...

그런데 회원이라도 글쓰기를 할때 반드시 이름을 쓰게 하고 싶습니다.
회원가입시 작성한 이름대신 부서명을 입력해야하는 경우가 있어서 그럽니다.

일단....write.skin.php 페이지에서  이름을 입력하는 부분에 있는 <? if ($is_name) { ?> <? } ?> 이 소스를 삭제하니깐 회원이라도 글작성시 이름쓰기란이 생깁니다.

이럴 경우 view.skin.php과 list.skin.php에 이름이 출력되는 부분을
<?=$view[name]?> 대신 <?=$view[wr_name]?> 
<?=$list[$i][name]?> 대신 <?=$list[$i][wr_name]?>
이렇게 수정해보아도 계속 회원가입시 입력한 이름이 나옵니다.

제가 워낙 잘 몰라서 검색을 해봐도 이런 내용이 없고, 겨우겨우 수정해본 부분이 여기까진데,
아시는 분들 꼭 답변 좀 부탁합니다^^;
요것때문에 며칠을 고생하고 있어요ㅠ.ㅠ

**************************************************************************************

밑에 두분의 답변대로 해도 안되서 제가 하다보니 해결했습니다.
1. 먼저 bbs/write_update.php 파일을 열어서 
204번 라인쯤에 있는 이부분을 수정해줍니다.

if ($w == "" || $w == "r")
{
    if ($member[mb_id])
    {
        $mb_id = $member[mb_id];
            if (!trim($wr_name))
            alert("이름은 필히 입력하셔야 합니다.");
        // $wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick]; -> 이 라인을 주석처리하시고 위에 2줄을 추가합니다.
        $wr_password = $member[mb_password];
        $wr_email = $member[mb_email];
        $wr_homepage = $member[mb_homepage];

그리고 글을 수정할때도 한번 더 수정해줘야합니다.
그렇지 않으면 글 수정시 회원정보에 있는 이름으로 수정등록이 됩니다.

307라인 쯤에 있는

else if ($w == "u")
{
    if ($member[mb_id])
    {
        // 자신의 글이라면
        if ($member[mb_id] == $wr[mb_id])
        {
            $mb_id = $member[mb_id];
             if (!trim($wr_name))
            alert("이름은 필히 입력하셔야 합니다.");
            // $wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick]; -> 이 라인을 주석처리하시고 위에 2줄을 추가합니다.
            $wr_email = $member[mb_email];
            $wr_homepage = $member[mb_homepage];
        }

2. 해당 스킨 폴더(예 : skin/board/basic폴더)에 있는
write.skin.php 파일을 열어서
33번째 라인쯤에 있는 빨간색으로 표시된 2라인을 삭제하면 회원이 로그인 후라도 이름을 입력받게 해줍니다.

<? if ($is_name) { ?>--> 이부분 삭제
<tr>
    <th scope="row"><label for="wr_name">이 름</label></th>
    <td class="d1"><input class="field" maxlength="20" size="15" name="wr_name" itemname="이름" required value="<?=$name?>" id="wr_name" title="이름"></td></tr>
<? } ?>--> 이부분 삭제

그런데 마지막으로 view_comment.skin.php 파일에서 코멘트 뷰에 이름란은 수정하지 못했습니다.

  • 복사

댓글 전체

bbs/write_update.php: 256

if ($w == "" || $w == "r")
{
    if ($member[mb_id])
    {
        $mb_id = $member[mb_id];
///--- BBS는 넘어 온 것을 사용
    if( $bo_table!='BBS')
        $wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];
현재 저의 홈페이지에서 사용중인 방식입니다
주의: 만일의 경우를 위해 원본 소스를 백업해두시고 실핼하십시요
부서명 입력란을 만들어 부서명이 입렫된 부분을
view.skin.php, list.skin.php 에 출력하는 방식입니다
write.skin.php 이름 입력 부분이랑 수정할 필요 없습니다

write.skin.php 제목과 내용 입력란 사이에 아래의 소스를 추가 하십시요

<tr>
    <td class=write_head>부서명</td>
    <td><input class="ed" style="width:100%;" name=wr_1 id="wr_1" itemname="기분"  value="<?=$write[wr_1]?>"</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>

view.skin.php 에서 부서명 출력하고자 하는 해당 위치에 아래의 소스를 추가 하십시요
부서명 : <?=$view[wr_1]?>

list.skin.php 에서 부서명 출력하고자 하는 해당 위치에  아래의 소스를 추가 하십시요
부서명 : {$list[$i][wr_1]}

view.skin.php 출력 소스하고 list.skin.php 출력 소스가 다른 이유는 스킨마다 좀 차이가 있으므로
해당 스킨의 제목 또는 이름 등 출력 소스를 보시고 {} 또는 <> 이런 부분은 수정하십시요
답변은 감사한데요...이부분은 제 질문의도와 다릅니다. 추가 필드 입력받기말고, 회원이라도 비회원처럼 이름을 자유롭게 적을 수 있는 부분에 대한 질문이었습니다.

만일 별찌님께서 답변해주신대로 수정하면 기존에 입력됐던 데이터의 작성자 이름은 보이지 않게 됩니다.
리스트에서 이름을 불러오는 곳에 {$list[$i][wr_1]} 이렇게 붙이면 기존 데이터는 빈 걸로 보여요ㅠ.ㅠ
© SIRSOFT
현재 페이지 제일 처음으로