- Joined
- Jan 6, 2011
- Messages
- 1,345
- Reaction score
- 646
class_activeUsers.php:
Usage:
Code:
<?php
class activeUsers
{
/* Variable holding the logged in members count. */
var $membersCount;
/* Variable holding the guests count. */
var $guestsCount;
/* Variable holding the total count. */
var $totalCount;
public function __construct()
{
$q = mssql_query("DELETE FROM activeUsers WHERE Time + ".((5 * 60) * 1000)." <= ".time()."");
$q = mssql_query("SELECT IP, Time FROM activeUsers WHERE IP = '".$_SERVER['REMOTE_ADDR']."'");
if(mssql_num_rows($q) >= 1)
$q = mssql_query("UPDATE activeUsers SET UserID = '".((isLoggedIn()) ? $_SESSION['user'] : "")."', Time = ".time()." WHERE IP = '".$_SERVER['REMOTE_ADDR']."'");
else
$q = mssql_query("INSERT INTO activeUsers (UserID, Time, IP) VALUES ('".((isLoggedIn()) ? $_SESSION['user'] : "")."', ".time().", '".$_SERVER['REMOTE_ADDR']."')");
$this->initCounts();
}
public function initCounts()
{
$q = mssql_query("SELECT Time FROM activeUsers WHERE UserID != ''");
$q2 = mssql_query("SELECT Time FROM activeUsers WHERE UserID = ''");
$this->membersCount = mssql_num_rows($q);
$this->guestsCount = mssql_num_rows($q2);
$this->totalCount = $this->membersCount + $this->guestsCount;
}
}
?>
Usage:
Code:
<?php
include("class_activeUsers.php");
mssql_connect("OMAR-PC\SQLEXPRESS", "sa", "password") or die("Errors while attempting to connect to MSSQL.");
mssql_select_db("GunzDB");
function isLoggedIn()
{
return ((isset($_SESSION['user'])) ? true : false);
}
$activeU = new activeUsers();
$activeU->initCounts();
echo "Online Total: $activeU->totalCount. <br />Members Online: $activeU->membersCount<br />Guests Online: $activeU->guestsCount";
?>
Code:
USE [GunzDB]
GO
/****** Object: Table [dbo].[activeUsers] Script Date: 06/22/2012 18:50:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[activeUsers](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserID] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Time] [bigint] NOT NULL,
[IP] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
Last edited: