Log in

View Full Version : Help with code: online users on a non vb page


Dave#
09-02-2001, 08:02 PM
So very nearly there. I have managed to get the online users on a non VB page thing working well, heres what it looks like (http://cpfc.org/forums/addons/onlineM.php)

However the code doesn't show the total online users figure $totalonline Can anyone help me with that code?

Heres the code sofar

<?
{
require("/home/admin/www/forums/admin/config.php");

$db=mysql_connect($servername,$dbusername,$dbpassw ord) or die("Can't open connection to MySQL");
mysql_select_db($dbname) or die("Can't select database");

$cookievalue = mysql_query("SELECT value
FROM setting
WHERE varname = 'cookietimeout'");
$cookietimeout = mysql_result($cookievalue, 0, 0);
$datecut = time()-$cookietimeout;
$invisibleregmember = "0";
$regmembers = mysql_query("SELECT DISTINCT username,invisible
FROM user,session
WHERE session.userid=user.userid AND session.lastactivity>$datecut AND invisible='0'
ORDER BY username ASC");

while($regmember = mysql_fetch_array($regmembers)):
++$regmemberbr;
if ($regmember[invisible] == 0) {
$regmemberson .= "$regmember[username]";
} else {
++$regmemberbr;
}
if ($regmemberbr < mysql_num_rows($regmembers)):
$regmemberson .= ", ";
endif;
endwhile;

$guests = mysql_query("SELECT COUNT(userid) AS guestsonline FROM session WHERE userid=0 AND session.lastactivity>$datecut") or die("oops3");

while($guest = mysql_fetch_array($guests)):
$guestson = number_format($guest[guestsonline]);
endwhile;

if ($regmemberson == "") {
$onlinemembers = "<p>No Registered Members</p>";
} else {
$onlinemembers = "Members Online: $regmemberson";
}

if ($guestson == "0") {
$onlineguests = "No Guests";
} else {
$onlineguests = " and $guestson guests: ";
}

print "<font size=\"1\">$onlinemembers $onlineguests</font>";

}
?>

Dave#
09-03-2001, 04:09 PM
^ *bump* ^

Dark_Wizard
09-03-2001, 07:57 PM
Why don't you just add this above your print :
$totalonline= $onlinemembers+$onlineguests;
$total= "Total Online: $totalonline";

and change the print line to this:
print "<font size=\"1\">$total $onlinemembers $onlineguests</font>";

Dave#
09-03-2001, 08:01 PM
Originally posted by Dark_Wizard
Why don't you just add this above your print :
$totalonline= $numberregistered+$numberguest;
$total= "Total Online: $totalonline";

and change the print line to this:
print "<font size=\"1\">$total $onlinemembers $onlineguests</font>";

Because $numberregistered isn't defined?

Dark_Wizard
09-03-2001, 08:04 PM
my typo...fixed now and it does work...I am working on some other code and just through it together quickly...

Dave#
09-03-2001, 08:39 PM
I get 0 as the figure if i try that

Dark_Wizard
09-03-2001, 09:36 PM
Damn...still not paying close enough attention...try this:

$totalonline= $regmember+$guestson;

here it is....

Dave#
09-04-2001, 11:19 AM
still no luck

Don't I have to do another sql query to retrieve the actual number of members?

Dark_Wizard
09-04-2001, 04:59 PM
Change this:

$totalonline= $regmember+$guestson;

to this:

$totalonline= $regmemberbr+$guestson;

Dave#
09-04-2001, 05:38 PM
Originally posted by Dark_Wizard
Change this:

$totalonline= $regmember+$guestson;

to this:

$totalonline= $regmemberbr+$guestson;


Thats the one :)

Many many thanks