현재 접속중인 사용자 나타내기 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

현재 접속중인 사용자 나타내기 정보

PHP 현재 접속중인 사용자 나타내기

본문

<?

 // Mysql DB 사용자 정보
 $db_host = "host_name";
 $db_user = "user_name";
 $db_passwd = "passwd";
 $db_name = "db_name";

 // 사용자의 정보를 갱신하는 시간 간격이다.
 $refresh_time = 30;

 // 접속이 끊긴 사용자의 한계시간.
 // 보통 리프레시 타임보다 5~10초 정도 많게 설정하면 된다.
 $kill_time = 40;

 // 데이타 베이스 연결
$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();

 // 이미 접속한 사용자라면...
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 " <html><head> ";
 echo " <meta http-equiv='refresh' content='$refresh_time;url=$PHP_SELF'> ";
 echo " </head> ";

 echo " <body bgcolor=#CCCC99 text='blue'> ";
 echo " <center><font size=1>Now $row[0] Contact</font></center> ";
 echo " </body></html> ";

?> 

추천
0

댓글 1개

전체 5,352
개발자팁 내용 검색

회원로그인

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