>> Read No. 19107 article  
[Help] 동시 접속자수를 구하는 PHP함수 구합니다.

등록 2001-01-29 20:46:00     조회 2
이름 흑흑    

		PHP로 제작된 페이지 동시 접속자수가 몇명인지 알수 있는 소스를
아시는분은 알려주세요.....
아래는 DB로 된 소스인데.....
DB에 테이블 생성을 해야 한다고 하는데T.T
알려주심........
======================
<?
 // Mysql DB 사용자 정보
$db_host = "Host Name";
$db_user = "User Name";
$db_passwd = "User Password";
$db_name = "DB Name";
 // 사용자의 정보를 갱신하는 시간 간격이다.
// 홈페이지 동시 접속수의 평균을 내서 가장 적절한 값을 찾는다.
// 보통 10초에서 30초 사이의 값이면 좋다고 생각한다.
$refresh_time = 5;
 // 접속이 끊긴 사용자의 한계시간.
// 보통 리프레시 타임보다 2~5초 정도 많게 설정하면 된다.
$kill_time = 7;
 // 데이타 베이스 연결
$connect = mysql_connect( $db_host , $db_user , $db_passwd ) or die ( "DB Server Error" );
mysql_select_db( $db_name ) or die( "DB Error" );
 // 접속이 끊긴 사용자 삭제
$query = "DELETE FROM session WHERE (now() - last_time) > $kill_time";
mysql_query( $query , $connect );
 // 현접속 사용자 확인
$query = "SELECT * FROM session WHERE ip = '$REMOTE_ADDR'";
$result = mysql_query( $query , $connect );
$total = mysql_affected_rows();
 // 현 접속 사용자 정보
// 테스트용에서는 정보 목적으로 사용하였다.
// 필요없으면 주석 처리할 것
// $row_ip[ip] = 현사용자 접속 IP $row_ip[last_time] = 현사용자 마지막 접속 시간
$row_ip = mysql_fetch_array( $result );
$now_time = date('YmdHis');
$last_time = $row_ip[last_time];
$time_def = $now_time - $last_time;
// 요기 까지는 테스트용 정보입니다.
// 직접 사용하실 때는 주석처리나 삭제하십시요.
  // 이미 접속한 사용자라면...
if($total > 0)
{
// 마지막 접속 시간 갱신
  $query = "UPDATE session SET last_time = now() WHERE ip = '$REMOTE_ADDR'";
  mysql_query( $query, $connect );
}
//처음 접속한 사용자
else
{
  $query = "INSERT INTO session VALUES('$REMOTE_ADDR',now())";
  mysql_query( $query, $connect );
}
 // 총 접속자수 계산
$query = "SELECT count(*) FROM session";
$result = mysql_query( $query , $connect );
$row = mysql_fetch_array( $result );
 mysql_close($connect);
 // 리프레쉬 해더
echo " <meta http-equiv='refresh' content='$refresh_time;url=$PHP_SELF'> ";
 // 이곳을 사용자에 맞게 고쳐서 사용한다.
 echo "  총 접속자 수 $row[0] 명<br>                           ";
echo "  접속 IP $REMOTE_ADDR <br>                             ";
echo "  마지막 접속 시간 $last_time <br>                      ";
echo "  현재 시간 $now_time <br>                              ";
echo "  시간차 $time_def                                      ";
이름
암호
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 7.46 초 ] 작업시간: [ 7.02 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789646359
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.