[re] 접속자수 알려주는 소스 0

0_fist | 2002.12.18 11:38:04 답변: 0 조회: 2072
분류기타 https://life.moyiza.kr/qna/2199915
<?
/*
Database table scheme:

CREATE TABLE usersonline (
timestamp int(15) DEFAULT '0' NOT NULL,
ip varchar(40) NOT NULL,
file varchar(100) NOT NULL,
INDEX (timestamp),
INDEX ip(ip),
INDEX file(file)
);
*/

class UsersOnline {

/* public: connection parameters */
var $host = 'localhost';
var $database = 'websapp';
var $user = '';
var $password = '';

var $timeoutSeconds = 120;
var $numberOfUsers = 0;

function UsersOnline() {
$this->refresh();
}

function getNumber() {
return $this->numberOfUsers;
}

function printNumber() {
if($this->numberOfUsers == 1) {
echo "$this->numberOfUsers User online";
} else {
echo "$this->numberOfUsers Users online";
}
}

function refresh() {
global $REMOTE_ADDR, $PHP_SELF;

$currentTime = time();
$timeout = $currentTime - $this->timeoutSeconds;

mysql_connect($this->host, $this->user, $this->password)
or die('Error conecting to database');

mysql_db_query($this->database,
"INSERT INTO usersonline VALUES ('$currentTime','$REMOTE_ADDR','$PHP_SELF')")
or die('Error writing to database');

mysql_db_query($this->database,
"DELETE FROM usersonline WHERE timestamp < $timeout")
or die('Error deleting from database');

$result = mysql_db_query($this->database,
"SELECT DISTINCT ip FROM usersonline WHERE file='$PHP_SELF'")
or die('Error reading from database');

$this->numberOfUsers = mysql_num_rows($result);

mysql_close();
}

}

?>

위 파일을 online.php로 저장하시고...
원하시는 페이지 부분에...

<?php
include('online.php');

$ol = new UsersOnline();

$ol->printNumber();

?>
이렇게 삽입하시면 됩니다.
위 파일은 php+mysql연동이므로 반드시 php액세스, 및 MySQL사용이 가능해야 합니다.
IP: ♡.162.♡.121
답변
이 질문에 답변하시면 포인트 5점을, 채택될 시엔 포인트 0점을 더 드립니다.
제목 상태 답변수 글쓴이 날짜
1
무잽이데이
19/12/03
5
시집가야죠
19/12/03
2
Bijou
19/11/24
3
후회없는선택
19/10/28
4
쩡아쮸아V왑
19/10/27
2
주문89
19/10/09
3
KyungGook
19/10/04
2
나나빠
19/09/11
31
아이스27
19/09/10
0
플라이펭귄
19/09/06
11
붉은저녘노을
19/09/03
4
JRY79
19/08/27
1
kimberly
19/08/25
4
grtg
19/08/11
5
jin52013
19/08/11
0
빠삐
19/08/03
6
비전88
19/07/31
3
안전최고
19/07/27
3
abc456789
19/07/26
0
StarBoy
19/07/26
모이자 모바일