First, you will
need to create a table `users_online` in your database (and have access
to one). Also, create at least 3 columns (id, ip and time) set as:
int(11), varchar(15) and varchar(11).
Next, you need the code to appear in your page_header, you can save the
code as a file, and include it; or just paste the code directly in your
header.
Finally, you can add alot to this code, and use the table to show "who"
is online as well.
<?
//REMEMBER TO CONNECT TO THE DATABASE!!
$ip = $_SERVER['REMOTE_ADDR'];
$time =
time();
$ip_check = 'SELECT ip FROM `users_online` WHERE ip = \''.$_SERVER['REMOTE_ADDR'].'\'';
$ip_query = mysql_query($ip_check);
$num_rows = mysql_num_rows($ip_query);
if(!$num_rows)
{ //if no rows, meaning no ip's in db
matched theirs, we will add them.
$insert_new = mysql_query("INSERT INTO
`users_online` (ip, time) VALUES ('$ip', '$time')");
} //end if NOT THERE
//this means that they're already in there, so we update info.
if($num_rows > 0) {
$update
= mysql_query('UPDATE `users_online`
SET time=\''.time().'\' WHERE ip = \''.$_SERVER['REMOTE_ADDR'].'\'');
if(!$update) die(mysql_error());
} // end UPDATE
//if time now - start time > 300 then its been 5 minutes, so we
delete
$delete_old = mysql_query("DELETE FROM
`users_online` WHERE ((".time()."-time) > 300)");
if(!$delete_old) die(mysql_error());
//show the number of people online now....
$id_query = @mysql_query("SELECT * FROM `users_online`");
$users_online =
mysql_num_rows($id_query);
echo("<BR>The number of people here
are : $users_online<BR>");
//users online is done....
?>
|
|