레이어에 메뉴추가를 해서 회원에게 포인트 주기 > 그누3 팁자료실

그누3 팁자료실

레이어에 메뉴추가를 해서 회원에게 포인트 주기 정보

일반 레이어에 메뉴추가를 해서 회원에게 포인트 주기

본문

안녕하세요...그누보드를 시작한지 얼마 안되는 초보입니다^^;;
이곳에서 흐르는 구름님과 착한아이님께 여러가지 정보를 얻고
흐르는구름님의 엄중한 문책에 깨달음을 얻고 이곳에 공유하고자 이렇게 글을 올립니다^^;

우선...제가 생각했던 알고리즘부터 설명을 드리자면....
게시판에서 어떤 글을 읽다가
"아~~~ 이글 너무 좋다.....이글을 쓴 회원에게 포인트를 주고 싶다...."라는 생각이 들때
일일이 ADMIN 누르고 포인트 누르고....하는게 불편할것같다는 생각을 했습니다.

해서...이곳에서 질문을 올리고 연구하고 공부하고 땀을 쏟은 결과.....착한아이님의 도움으로
그 문제를 해결했습니다.
예를 들어 그 글의 쓴 회원의 이름이 우주희라고 한다면...
그 이름을 누릅니다....그러면 레이어가 뜨겠죠...
그 레이어 안에..... 포인트 부여 라고 만드는거죠...
그걸 누르게 되면..... 포인트를 부여할 수 있는 창이 새창으로 뜨게 되구요....
해서 포인트를 줄수 있는.....

헌데 여기서 ...한가지 중요한 것은.....포인트는 회원 아이디를 입력해야만 줄수 있다는 것이었습니다.
게시판에는 이름인데...포인트를 주려면 아이디가 필요했다는 거였죠...
해서...이름을 누르고 포인트 부여를 누르면.....
회원 아이디란에...자동으로 그 회원의 아이디가 들어가도록 하는 것이었습니다....

자,,,,그럼 여기까지가 제가 생각했던 알고리즘이었구요...
그럼 이제부터 기술적인 부분 들어갑니다.....


우선....bbs 폴더안에...gblayer.php  화일을 열어주세요....


    function gblayer(layername, id, name, email, homepage, profile, dir,)
    {
        var body = "";
        var height = 0;

        if (id) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#e5e5e5' onmousedown=\"window.open('<?="./$cfg[index]?doc=$cfg[bbs_dir]/mbmemoform.php&me_recv_mb_id="?>"+id+"', 'mbmemo', 'left=50,top=50,width=500,height=400,scrollbars=1');\"><td align=center height=20>&nbsp;&nbsp;쪽지보내기&nbsp;&nbsp;</td></tr>";
            height += 20;
        }

        <? if ($bo_table) { ?>
        if (name) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#e5e5e5' onmousedown=\"location.href='<?="./$cfg[index]?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table&sselect=wr_name&stext="?>"+name+"';\"><td align=center height=20>&nbsp;&nbsp;이름으로 검색&nbsp;&nbsp;</td></tr>";
            height += 20;
        }
        <? } ?>

이 부분이 있을 겁니다.....

이 부분을

    function gblayer(layername, id,  point, name, email, homepage, profile, dir)
    {
        var body = "";
        var height = 0;

        if (id) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#e5e5e5' onmousedown=\"window.open('<?="./$cfg[index]?doc=$cfg[bbs_dir]/mbmemoform.php&me_recv_mb_id="?>"+id+"', 'mbmemo', 'left=50,top=50,width=500,height=400,scrollbars=1');\"><td align=center height=20>&nbsp;&nbsp;쪽지보내기&nbsp;&nbsp;</td></tr>";
            height += 20;
        }

      if (point) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#e5e5e5' onmousedown=\"window.open('<?="./$cfg[index]?doc=$cfg[bbs_dir]/admin/pointlist2.php&mb_id="?>"+id+"', 'point', 'left=50,top=50,width=840,height=600,scrollbars=1');\"><td align=center height=20>&nbsp;&nbsp;포인트부여&nbsp;&nbsp;</td></tr>";
            height += 20;
        }

        <? if ($bo_table) { ?>
        if (name) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#e5e5e5' onmousedown=\"location.href='<?="./$cfg[index]?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table&sselect=wr_name&stext="?>"+name+"';\"><td align=center height=20>&nbsp;&nbsp;이름으로 검색&nbsp;&nbsp;</td></tr>";
            height += 20;
        }
        <? } ?>

이렇게 고쳐줍니다....그리고 저장

이부분은....포인트부여 메뉴를 레이어에 나타내도록 해주는 부분입니다....
새창으로 뜰 화일이름을 admin 폴더밑에 pointlist2.php 로 해준게 보이실 겁니다^^


그럼 다음 단계입니다...

bbs/admin 폴더에 보시면...pointlist.php 라는 화일이 있습니다...
이 화일은 관리자 모드 화면에서 회원에게 포인트를 주는 화면입니다....
일일이 회원 아이디를 입력해 주어야만 하죠.... 엄청 불편하겠죠?? ㅡㅡ;;

이 화일을 열어서.....pointlist2.php로 다른 이름으로 저장해줍니다....
물론 admin 폴더안에말이죠^^

그러고 나서 ...이제 확인해봐야 겠죠....

아무 게시판에나 가서....게시자 이름을 클릭했을때....레이어에
포인트부여라는 메뉴가 나왔다면...우선 1단계 통과.......

메뉴가 뜨지 않을시 해결방법>>>> gblayer.php 화일 수정을 잘못하신거니까요...다시한번 살펴보시길^^

포인트부여 메뉴를 눌렀을때....새창이 떴다면....2단계 통과....

새창이 뜨지 않을시 해결방법>>>> 화일경로가 맞지 않거나.....하는 문제일수 있으니 확인 또 확인..^^;;

새창에 회원아이디가 자동으로 입력됐다면....완성입니다...

마지막.....새창이 뜨긴 떴는데......회원아이디가 자동으로 들어가지 않는다면......
gblayer.php화일과 pointlist2.php에서의 input name값이 서로 맞지 않아서 생기는 문제입니다.
이 name 값을 일치시켜주면...되는거죠..^^
좀더 쉽게 설명을 드리자면.......
포인트부여 메뉴 바로 위에 보시면....쪽지보내기 메뉴가 있습니다...
쪽지 보내기 링크에 보시면....

window.open('<?="./$cfg[index]?doc=$cfg[bbs_dir]/mbmemoform.php&me_recv_mb_id=

이렇게 되어있죠...

mbmemoform.php 가 링크화일 이름이구요...바로 그뒤에 붙은

me_recv_mb_id  가 name입니다.....

저는 포인트부여메뉴의 input name을 mb_id로 주었죠.....

물론 pointlist2.php 에서 받아내는 input name 도 mb_id로 주었구요....

이상입니다....

부디 필요하신 분들은 이 글을 보고 성공하셨으면 좋겠네요^^
읽어주셔서 감사합니다^^;;



흐르는 구름님과.....지니아빠네의 착한아이님께 정말 깊은 감사의 말씀 드립니다..
앞으로 더 열심히 공부하고...더 열심히 좋은 정보 나눌수 있도록 노력하겠습니다..^^
추천
0

댓글 전체

죄송합니다만.
좀더 검토 후에, 시험 후에 발표 해 주시기 바랍니다
이래도, 저래도 근처에는 갓는데 님께서 말씀하신 데로는 전혀 움직여 주질 않습니다.
그래도 감사할 따름입니다.
요즘 그누보드엔 잘 안들어 와서 몰랏습니다. 자주 들어와 봐야겟네요....  ㅠㅠ

레이어 부분에
if ($member[mb_id] && ($is_admin == 'default' || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id])) {
      if (point) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#e5e5e5' onmousedown=\"window.open('<?="./$cfg[index]?doc=$cfg[bbs_dir]/admin/pointlist2.php&mb_id="?>"+id+"', 'point', 'left=50,top=50,width=840,height=600,scrollbars=1');\"><td align=center height=20>  포인트부여  </td></tr>";
            height += 20;
        }
}

이렇게 최고관리자, 게시판관리자만 로그인시 볼수 있도록 감싸주심이..... 
굳이 멤버분들까지 포인트 주기 볼 필요까지야 본다고 줄수 있는것두 아니지만..
^^
죄송합니다.
name 부분 참고하세요.
제가 <? ?> 빼 먹었네요.
        <? if ($bo_table) { ?>
        if (name) {
            body += "<tr onmouseover=this.style.backgroundColor='#ffffff' onmouseout=this.style.backgroundColor='#F5F3EE' onmousedown=\"location.href='<?="./?doc=bbs/bbs.php&bo_table=$bo_table&sselect=wr_name&stext="?>"+name+"';\"><td height=20>&nbsp;<img src='image/gblayer/icon_name.gif' align=absmiddle>&nbsp;이름으로 검색&nbsp;&nbsp;</td></tr>";
            height += 20;
        }
        <? } ?>

그리고 관리자나 보드관리자가 로그인 해야만 보입니다.
비로그인 상태시 안보일수도 있으니 참고하시고요...
착한아이님..... 알려주신 위 소스를 첨부해봤는데요....if문 안에서 if 문이 또들어가서 그런지

아예 레이어 메뉴가 뜨질 않네요.....한번만 더 수고 부탁드립니다...(__);;
전체 1,026
그누3 팁자료실 내용 검색

회원로그인

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