people on site
Posted: Sun Apr 06, 2003 1:19 am
how can i know how many people are currently on my site?
Guy
Guy
A community of PHP developers offering assistance, advice, discussion, and friendship.
http://forums.devnetwork.net/
Code: Select all
CREATE TABLE users (
user_id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(15) NOT NULL,
password VARCHAR(32) NOT NULL,
firstname VARCHAR(15) NOT NULL,
surname VARCHAR(15) NOT NULL,
phone VARCHAR(15) NOT NULL,
email VARCHAR(15) NOT NULL,
PRIMARY KEY(user_id)
);Code: Select all
$dbName = 'dbna,e';
$username = 'user';
$hostname = 'localhost';
$password = 'pass';
/*** connect to db ***/
mysql_connect($hostname, $username, $password)
OR die ("Could not connect: " . mysql_error());
mysql_select_db($dbName)
OR die( "Error : ".mysql_errno()." : ".mysql_error()."<br>\n");
$timeoutseconds = 300; //# Timeout value in seconds
$timestamp = time();
$timeout = ($timestamp-$timeoutseconds);
mysql_query("DELETE FROM usersonline WHERE timestamp<$timeout");
$result = mysql_query( "SELECT * FROM usersonline" )
or die( "Error : ".mysql_errno()." : ".mysql_error()."<br>\n");
if (mysql_num_rows($result) == 0 ) {
print "No users online";
} else {
print "<center><table border = 1><tr><th> name </th><th> secs since login </th></tr>";
while ($row = mysql_fetch_array($result)) {
print "<tr><td align = center>".$row['name']."<BR>";
print "<td align = center>".(time() - $row['timestamp']);
}
}Code: Select all
// variables
$dbName = 'dbna,e';
$username = 'user';
$hostname = 'localhost';
$password = 'pass';
/*** connect to db ***/
mysql_connect($hostname, $username, $password)
OR die ("Could not connect: " . mysql_error());
mysql_select_db($dbName)
OR die( "Error : ".mysql_errno()." : ".mysql_error()."<br>\n");
$timeoutseconds = 300; //# Timeout value in seconds
$timestamp = time();
$timeout = ($timestamp-$timeoutseconds);
// get user name
$result = mysql_query("select * from users where user_id="".$_SESSION['user_id'].""")
OR die("Error:".mysql_errno()." : ".mysql_error()."<br>\n");
$row = mysql_fetch_array($result);
$name = $row['firstname']." ".$row['surname'];
mysql_query("DELETE FROM useronline WHERE name='$name'") or die("DB DELETE Error");
mysql_query("INSERT INTO useronline VALUES('$timestamp', '$name')") or die("DB INSERT Error");
mysql_query("DELETE FROM useronline WHERE timestamp<$timeout") or die("DB DELETE Error");
mysql_close();