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

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

QA

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

답변 3

본문

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

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

 

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

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

 

어떤식으로 해야 할까요~

 

 

 

 

이 질문에 댓글 쓰기 :

답변 3

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

 

head.sub.php  16줄부터

 


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

 

에서 $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 을 기록하는 부분을 확인해보세요.

가능할 것 같은데요.

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

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

 


$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
      from $g4[login_table] a left join $g4[member_table] b on (a.mb_id = b.mb_id)
      where a.mb_id <> '$config[cf_admin]' and a.lo_url = '/now/index.php​​'​​
      order by a.lo_datetime desc "; 

 

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

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

 

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

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

 


$tmp = parse_url($g5['lo_url'] ? $g5['lo_url'] : $_SERVER['REQUEST_URI']);
$url_check = empty($tmp['path']) ?  false : $tmp['path'] ;
$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
            from {$g5['login_table']} a left join {$g5['member_table']} b on (a.mb_id = b.mb_id)
            where a.mb_id <> '{$config['cf_admin']}'";
if($url_check) $sql.=" and a.lo_url like '{$url_check}%' ";
            $sql.=" order by a.lo_datetime desc ";
 

 

에러는 안나는데 현재접속자가 없다고 나오네요~
위의 소스를 보면 특정페이지의 기준이 없는데~ 어디서 설정을 해야 하는지요~.

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 363
© SIRSOFT
현재 페이지 제일 처음으로