테스트 사이트 - 개발 중인 베타 버전입니다

특정 페이지 접속자를 불러올수 있을찌요~... 채택완료

재아 11년 전 조회 4,315

예를들어 abcd.com/now/index.php

위처럼 특정 페이지에 회원이 접속 해 있을때 이 리스트 를 뽑아내려고 합니다.

 

생각 해보거늘... 현재접속자 abcd.com/bbs/current_connect.php 에서  

특정 링크 부분에 접속을 한 회원만 뽑아 낸다거나 말입니다.

 

어떤식으로 해야 할까요~

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
11년 전

g4 소스를 보지 못해서 정확하진 않습니다만.

 

head.sub.php  16줄부터

 

</p><p>// 현재 접속자</p><p>// 게시판 제목에 ' 포함되면 오류 발생</p><p>$g5['lo_location'] = addslashes($g5['title']);</p><p>if (!$g5['lo_location'])</p><p>    $g5['lo_location'] = $_SERVER['REQUEST_URI'];</p><p>$g5['lo_url'] = $_SERVER['REQUEST_URI'];</p><p>if (strstr($g5['lo_url'], '/'.G5_ADMIN_DIR.'/') || $is_admin == 'super') $g5['lo_url'] = ''; </p><p>
 

 

에서 $g5[lo_url] 에  REQUEST_URI 가 기록됩니다. ( /now/index.php?key=var)

 

이 부분을 current_connect.php 에서

 

$tmp = parse_url($g5['lo_url'] ? $g5['lo_url'] : $_SERVER['REQUEST_URI']);

$url_check = empty($tmp['path']) ? false : $tmp['path'] ; 

 

$g5['lo_url'] 선언되어있을때는 lo_url 로 없으면 $_SERVER['REQUEST_URI'] 를 parse_url 해서

파라메터를 제외한 경로명 path (/now/index.php) 만 가져온뒤

 

쿼리문에 lo_url 을 검색하는 구조입니다.

 

$g5['login_table']​ 에 lo_url 기록하는 부분을 보면 REQUEST_URI 를 기록하는데

 

그렇게 되면 파라메터까지 기록되므로 검색할때는 like 문으로 %를 포함하여 검색하면됩니다.

 

검색이 되지 않는다면 lo_url 을 기록하는 부분을 확인해보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

11년 전

그누보드 5 current_connect.php  소스 수정입니다.

 

</p><p>$tmp = parse_url($g5['lo_url'] ? $g5['lo_url'] : $_SERVER['REQUEST_URI']);</p><p>$url_check = empty($tmp['path']) ?  false : $tmp['path'] ;</p><p>$sql = " select a.mb_id, b.mb_nick, b.mb_name, b.mb_email, b.mb_homepage, b.mb_open, b.mb_point, a.lo_ip, a.lo_location, a.lo_url</p><p>            from {$g5['login_table']} a left join {$g5['member_table']} b on (a.mb_id = b.mb_id)</p><p>            where a.mb_id <> '{$config['cf_admin']}'";</p><p>if($url_check) $sql.=" and a.lo_url like '{$url_check}%' ";</p><p>            $sql.=" order by a.lo_datetime desc ";</p><p> </p><p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

재아
11년 전
이런 그러고 보니 그누보드4 질문인데 죄송합니다.
그누보드4 current_connect.php랑 비교하면서 해보겠습니다.
재아
11년 전
에러는 안나는데 현재접속자가 없다고 나오네요~
위의 소스를 보면 특정페이지의 기준이 없는데~ 어디서 설정을 해야 하는지요~.

abcd.com/now/index.php 이 페이지에 접속자만 뽑아 내야 하는 부분인데 그걸 지정하는 부분은 없어 보입니다.

댓글을 작성하려면 로그인이 필요합니다.

f
11년 전

가능할 것 같은데요.

/bbs/current_connect.php에서 where로 조건을 주면 될 것 같네요. (방금 테스트 해봤습니다.)

9번째 줄에 아래와 같은 쿼리가 있는데 where 절 뒤에 a.lo_url을 추가하면 될 것 같아요

 

</p><p>$sql = " select a.mb_id, b.mb_nick, b.mb_name, b.mb_email, b.mb_homepage, b.mb_open, b.mb_point, a.lo_ip, a.lo_location, a.lo_url</p><p>      from $g4[login_table] a left join $g4[member_table] b on (a.mb_id = b.mb_id)</p><p>      where a.mb_id <> '$config[cf_admin]'<span style="font-family: 굴림, Gulim, 돋움, Dotum, Helvetica, sans-serif; line-height: 1.5;"> </span><font face="굴림, Gulim, 돋움, Dotum, Helvetica, sans-serif"><b><span style="color: rgb(255, 0, 0);">and a.lo_url = '/now/index.php​​'​</span></b></font><span style="font-family: 굴림, Gulim, 돋움, Dotum, Helvetica, sans-serif; line-height: 1.5; color: rgb(255, 0, 0);">​</span></p><p><span style="font-family: 굴림, Gulim, 돋움, Dotum, Helvetica, sans-serif; line-height: 1.5;">      order by a.lo_datetime desc "; </span></p><p>

 

홈페이지가 루트에 설치되어 있다면 위 처럼 하시면 되고

예를들어 최상위 g5 폴더에 설치되어 있어서 접속이 http://xn--hq1bm8jm9l/g5">http://도메인/g5 라면 작은 따옴표 안에 /g5/now/index.php 와 같이 들어가야 할 것 같네요.

 

저도 초보자라 도움이 될 지 모르겠네요. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

재아
11년 전
제가 이해하기로는 위에서 알려주신 부분은 관리자와 특정페이지는 제외한다는 부분 아닌가 싶은데요...
일단은 확인후에 비교하면서 넣어봤는데 에러가 나네요~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인