제로보드4는 공식적으로 더 이상 개발되지도 배포되지도 않습니다.
제로보드4를 사용하기 위한 팁보다 제로보드4를 안전하고 무사히 다른 툴로 이전하는 팁들을 게재해주시면 감사하겠습니다.
시간이 오래 지난 만큼 오래된 프로그램은 보안 및 사용성에 있어 문제가 많으니 이해 바랍니다.

안녕하세요~ 두번째로 올리는 팁이네요.

먼저 말씀드리지만 소스 적용이 상당히 복잡하기때문에 첨부화일로 올려뒀으니
다운받아서 제로보드 폴더에 그대로 덮어쓰시기 바랍니다,

혹시나 login_check.php, member_join_ok.php, admin/admin_view_member.php 를
자신에 입맛에 맞게 수정해서 사용하고 계신다면 보시고 그냥 찬찬히 따라하시는것도..^^;;;;;;

관리자 회원관리 페이지에서, [마지막 로그인 날짜] 가 표시되도록 먼저
적용을 해봤구요, (가입만 하고 그냥 가는 회원들)

다른 소스들 보면 마지막 로그인 날짜를 표시할수있는 팁들이 있습니다.

저는 Siche (http://eos.pe.kr) 님의 ' 회원 통합관리 ' 페이지로 [마지막 로그인 날짜] 삽입을
참고했습니다 ^^
이걸 관리자 페이지에 적용시키는게 힘들었지만 ㅠ..ㅠ

+저도 공부단계라 설명해놓고 뭐가 뭔지 잘 ..........................................................


먼저 적용 예를 보여드리겠습니다.

1.gif

친숙한 관리자 페이지 테이블입니다~! 회원 아이디 오른쪽에 마지막 로그인 날짜를 이런식으로 삽입 했구요

 2.gif

이렇게 마지막 로그인 시간을 검색을 해서, 오랫동안 접속을 하지 않은 회원을
레벨조정을 한다던가.. 조취를 취할수 있습니다



지금부터 시작해볼까용! ----->


1. 제로보드/login_check.php 를 열어줍니다

29번째줄 

// 회원로그인이 성공하였을 경우 세션을 생성하고 페이지를 이동함
 if($member_data[no]) {

  if($auto_login) {
   makeZBSessionID($member_data[no]);
  }

바로 아래에 아래의 소스를 삽입합니다

// 최근 로그인 날짜 삽입
$last_login = time();
mysql_query("update $member_table set last_login = '$last_login' where user_id='$user_id'");


2. 제로보드/member_join_ok.php 를 열어줍니다

120번째줄

mysql_query("insert into $member_table (level,group_no,user_id,password,name,email,homepage,icq,aol,msn,jumin,comment,
job,hobby,home_address,home_tel,office_address,office_tel,handphone,mailing,birth,reg_date,openinfo,open_email,
open_homepage,open_icq,open_msn,open_comment,open_job,open_hobby,open_home_address,open_home_tel,
open_office_address,open_office_tel,open_handphone,open_birth,open_picture,picture,open_aol) values ('$group_data[join_level]','$group_data[no]','$user_id',password('$password'),'$name','$email','$homepage','$icq','$aol','$msn',password('$jumin'),'$comment','$job','$hobby','$home_address','$home_tel','$office_address','$office_tel','$handphone',
'$mailing','$birth','$reg_date','$openinfo','$open_email','$open_homepage','$open_icq','$open_msn','$open_comment',
'$open_job','$open_hobby','$open_home_address','$open_home_tel','$open_office_address','$open_office_tel',
'$open_handphone','$open_birth','$open_picture','$picture_name','$open_aol')") or error("회원 데이타 입력시 에러가 발생했습니다".mysql_error());



이부분을 아래처럼 바꿔주시거나 따로 첨가해주시면 됩니다

mysql_query("insert into $member_table (level,group_no,user_id,password,name,email,homepage,icq,aol,msn,jumin,comment,
job,hobby,home_address,home_tel,office_address,office_tel,handphone,mailing,birth,reg_date,
last_login,openinfo,open_email,
open_homepage,open_icq,open_msn,open_comment,open_job,open_hobby,open_home_address,open_home_tel,
open_office_address,open_office_tel,open_handphone,open_birth,open_picture,picture,open_aol) values ('$group_data[join_level]','$group_data[no]','$user_id',password('$password'),'$name','$email','$homepage','$icq','$aol','$msn',password('$jumin'),'$comment','$job','$hobby','$home_address','$home_tel','$office_address','$office_tel','$handphone'
,'$mailing','$birth','$reg_date',
'$reg_date','$openinfo','$open_email','$open_homepage','$open_icq','$open_msn',
'$open_comment','$open_job','$open_hobby','$open_home_address','$open_home_tel','$open_office_address',
'$open_office_tel','$open_handphone','$open_birth','$open_picture','$picture_name'+ '+ ','$open_aol')")
 or error("회원 데이타 입력시 에러가 발생했습니다".mysql_error());



3. 제로보드/admin/admin_view_member.php 를 열어줍니다

// 검색어에 대해서 처리
 $s_que="";
 $href="&keykind=$keykind&like=$like";

 if($total_group_num>1) $s_que = " where group_no = '$group_no' ";
 
 if($level_search>0) {
  if($s_que) $s_que.=" and "; else $s_que=" where ";
  $s_que.=" level='$level_search' ";
  $href.="&level_search=$level_search";
 }
 if($keyword&&$keykind) {
  if($s_que) $s_que.=" and "; else $s_que=" where ";
  if($keykind!="jumin") {
   if($like) $s_que .= " $keykind like '%".$keyword."%' ";
   else $s_que .= " $keykind = '$keyword' ";
  } else {
   $s_que .= " $keykind = password('$keyword') ";
  }
   
  $href.="&keyword=$keyword&keykind=$keykind&like=$like";
 }





부분을



// 검색어에 대해서 처리
 $s_que="";
 $href="&keykind=$keykind&like=$like";

 if($total_group_num>1) $s_que = " where group_no = '$group_no' ";
 
 if($level_search>0) {
  if($s_que) $s_que.=" and "; else $s_que=" where ";
  $s_que.=" level='$level_search' ";
  $href.="&level_search=$level_search";
 }
 
 //수정부분//
 
      if($keyword&&$keykind) {
                if($s_que) $s_que.=" and "; else $s_que=" where ";
                               if($keykind=="jumin") {
                         $s_que .= " $keykind = password('$keyword')";       
                }
                //가입날자별 검색
                elseif($keykind=="last_login") {
                        $y=substr($keyword,0,4);
                        $m=substr($keyword,4,2);
                        $d=substr($keyword,6,2);
                        $key=mktime(0,0,0,$m,$d,$y);
            $key2=$key+3600*24;
                        $s_que .= " $keykind>'$key' and $keykind<'$key2' ";
                }

   else {
                if($like) $s_que .= " $keykind like '%".$keyword."%' ";
                        else $s_que .= " $keykind = '$keyword' ";
                }
                $href.="&keyword=$keyword&keykind=$keykind&like=$like";
        }



이렇게 고쳐줍니다



4. 역시나 같은 페이지에서
 
180번째줄

  <td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>삭제</td>

아래에 

  <td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>로그인</td>

추가


5. 또 같은 페이지에서


 if($data[no]>1) echo"<a href=$PHP_SELF?exec=$exec&group_no=$group_no&exec2=del&keyword=$keyword&page=$page&no=$data[no]$href onclick=\"return confirm('삭제하시겠습니까?')\">Delete</a>"; else echo"&nbsp;";

바로 아래에


    <td style=font-family:Tahoma;font-size:8pt;>".date("Y-m-d",$data[login_last_time])."</td>


추가


6. 마지막으로

<option value="comment" <?if($keykind=="comment")echo "selected";?>>Comment</option>

바로 아래에

<option value="last_login" <?if($keykind=="last_login")echo "selected";?>>마지막로그인</option>

를 추가합니다.




상당히 복잡하네요 왠만하시면 첨부화일 다운받는걸 권유해드립니다 last_login.zip 다운받기!
이렇게 모두 성공하시게되면 한달~두달 정도는 묵혀놓아야 한다고 보시면됩니다.

위에 소스를 적용한 당일 날짜부터 나오거든요 -_ㅠ;
설치 후에도 아예 활동이 없었던 회원의 날짜는 1970년 1월 1일 날짜로 나옵니다

그러니 간단명료하게 말씀드리자면,
한달~두달 묵혀두었다가 1970년 1월 1일자 회원을 모두 조취-_-; 하면 된답니다.
설치한지 조금 지나셨다면 이제 하루씩 검색하셔서 조취하셔도 괜찮으세요

검색은 이런식으로 하시면됩니다

ex) 20090401

이렇게 - 붙이시지 마시고, 년도와 날짜를 정확히 적으시면 된답니다.^^;;

이렇게 복잡한걸 누가쓰냐~ 하시겠지만 혹시나 저처럼 회원관리를 유별나게 하시는 ,,,
필요하신 분들이 계실까해서..^^


[레벨:2]화니885

2009.04.13 17:35:01
*.199.223.204

<td style=font-family:Tahoma;font-size:8pt;>".date("Y-m-d",$data[login_last_time])."</td>
삽입 하니 에러가 자꾸 나오네요?

[레벨:1]새.청

2009.04.14 20:59:21
*.189.225.75

팁 감사합니다. 그런데...
member_join_ok.php 이 파일을 수정하니.. 신규 회원가입이 안됩니다..;

[레벨:1]날라나르샤

2009.04.20 15:55:42
*.49.138.101

1,2번 둘다 한꺼번에 문제 생겼네요..

백업하고 시작할걸 -.-;

귀찮아졌음 T_T

[레벨:0]FINE*

2009.04.21 10:35:07
*.43.70.32

넘 유용하게쓰고있어요

좋은팁 감사합니다 ^^

[레벨:2]황현희839

2009.04.23 05:44:49
*.133.37.205

1번 에러 해결하고 나니...

회원 데이타 입력시 에러가 발생했습니다
Unknown column 'last_login' in 'field list'

이건 어케 수정하나요.. -.-;;;

[레벨:1]판님

2009.05.28 20:00:13
*.109.197.9

저도 같은 오류가 나타나네요; 어떻게 해야하는지..

[레벨:2]NensiA

2009.04.26 07:34:28
*.102.102.228

첨부파일을 그대로 저장했더니 에러가 생기네요... 뭔가 잘못된듯~~

김기한

2009.05.30 07:55:11
*.209.39.197

제가 한번 뚜드려보니 Unknown column 'last_login' in 'field list' 이 메세지는 말그대로 필드가 없다는 말입니다..

우선 DB에 들어가서 필드 하나 추가 해주세요~(mysql 이용하심 되요~) 필드는 reg_date와 똑같이 만드세요~(생각하기 귀찮으니..ㅋ)

하지만 이렇게 해도 가입은 되나 관리자페이지에서 값이 안뜬답니다..

/admin/admin_view_member.php 에서

<td style=font-family:Tahoma;font-size:8pt;>".date("Y-m-d",$data[login_last_time])."</td>

이렇게 수정 했던 부분 중 필드명이 틀렸답니다.. login_last_time에서 last_login으로 변경하세요~^6

 

부디 도움 되시길~ㅋ 저도 초짜라..ㅋㅋ

[레벨:2]황현희839

2009.06.27 14:57:30
*.141.45.38

감사해요~ 해결해서 쓰고 있어여~ ^^

에나렌

2009.07.23 20:33:02
*.24.10.19

로그오프했다가 다시 로그인을 해도 마지막 로그인 날짜가 계속 1970년 1월 1일로 유지되고 안 바뀌는데요..왜 그럴까요ㅠㅠㅠ

[레벨:1]salgu♥

2009.08.03 16:28:45
*.34.59.14

admin_view_member.php 이 부분 글쓴이가 잘못 써 놓으셨네요.

<td style=font-family:Tahoma;font-size:8pt;>";
   if($data[no]>1) echo"<a href=$PHP_SELF?exec=$exec&group_no=$group_no&exec2=del&keyword=$keyword&page=$page&no=$data[no]$href onclick=\"return confirm('삭제하시겠습니까?')\">Delete</a>"; else echo"&nbsp;";
   echo"   </td>
<td style=font-family:Tahoma;font-size:8pt;>".date("Y-m-d",$data[login_last_time])."</td>

이걸 여기다가 넣어주셔야 합니다. <td> </td> 닫힌다음에 넣어주셔야죠..

List of Articles
번호 제목 글쓴이 날짜 조회 수
4529 bbs/skin/view.php 파일 해킹경고 [5] [레벨:6]아가페 2009-08-16 8363
4528 레벨 표시를 숫자대신 원하는 명칭으로 표시하기 (관리자페이지만) [레벨:2]brainstorm 2009-08-08 5668
4527 게시판에 html 태그로 글 올리실때 style 태그허용시키기 [레벨:1]tagwiz 2009-08-04 5892
4526 코멘트 목록 <-> 코멘트 쓰기 순서 바꾸기 하늘영혼 2009-07-26 6201
4525 DB환경이 utf-8 인곳에서 lib.php 수정해서 euc-kr로 사용 하기 [레벨:6]빛의바다 2009-07-24 7583
4524 포인트를 소진하여 제목굵게 기능만들기 file [8] [레벨:2]이상길 2009-07-22 6688
4523 스팸성 간단 답글 일괄 삭제하는 방법 ( IP 기준 ) [3] [레벨:2]짙은어둠 2009-07-08 8173
4522 Star rating 적용 file [4] [레벨:13]완이 2009-07-04 7341
4521 네이버 스마트에디터 내용 줄간격 늘어나는 문제 [5] [레벨:3]또리♡485 2009-06-26 8966
4520 쪽지함에 포인트순위 추가하기 - 수정판 [레벨:1]변성환543 2009-06-23 6912
4519 에지님의 포인트 선물 (포인트 수수료 완벽수정판) [4] [레벨:1]변성환543 2009-06-21 7047
4518 아이프레임 자동 리사이징 JS ( 원프레임사이트용 ) [1] [레벨:3]ReloadMax 2009-06-18 1280
4517 새로운 코멘트 달렸을때 관리자에게 메일로 통보하기 [4] [레벨:2]brainstorm 2009-06-12 7387
4516 phpMyAdmin 등으로 코멘트 삭제 후 코멘트 수 조정하기 file [레벨:2]큰돌♡ 2009-05-26 7775
4515 <물결 플래시> 제로보드에 적용하기 file [12] [레벨:14]러브렛 2009-04-24 1756
4514 PHP 버전업후 register_globals 때문에 고생하시는 분들... [1] [레벨:2]권성현167 2009-04-18 9528
4513 홈에이지 접속자 온클럽 수정본 더이상 깔끔할순없다 [레벨:3]풍sky 2009-04-14 8628
» 관리자페이지 [ 마지막 로그인 날짜 ] 표시와 검색,관리! file [11] [레벨:2]바카양 2009-04-13 10827
4511 게시판 정리위해 관리자모드 클릭시 406 에러 날 경우 file [레벨:2]ZIBURO™ 2009-04-03 7397
4510 스팸봇이 들어오는 것 차단하는 방법의 한가지..^_^ [2] [레벨:2]짙은어둠 2009-03-14 1567