Lets see your 'home.php' file
users online script?
yo man, ive just noticed the user online script isnt working...seems like its not inserting into the table or something....i had 2 users go on and it still said 1 user online....worked before....can u check the code for me
<?php
//fill in some basic info
$server = "dbhost";
$db_user = "dbuser";
$db_pass = "dbpass";
$database = "database";
$timeoutseconds = 300;
//get the time
$timestamp = time();
$timeout = $timestamp-$timeoutseconds;
//connect to database
mysql_connect($server, $db_user, $db_pass);
//insert the values
$insert = mysql_db_query($database, "INSERT INTO useronline VALUES
('$timestamp','$REMOTE_ADDR','$PHP_SELF')");
if(!($insert)) {
print "Useronline Insert Failed > ";
}
//delete values when they leave
$delete = mysql_db_query($database, "DELETE FROM useronline WHERE timestamp<$timeout");
if(!($delete)) {
print "Useronline Delete Failed > ";
}
//grab the results
$result = mysql_db_query($database, "SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'");
if(!($result)) {
print "Useronline Select Error > ";
}
//number of rows = the number of people online
$user = mysql_num_rows($result);
//spit out the results
mysql_close();
if($user == 1) {
print '<span class="user-online">'.$user.' user online</span>';
} else {
print '<span class="user-online">'.$user.' users online</span>';
}
?>
I haven't tested it, but try this re-write of the script.
<?php
// FILL IN SOME BASIC INFO
$db_host = 'dbhost';
$db_user = 'dbuser';
$db_pass = 'dbpass';
$db_name = 'dbname';
$timeout = '300';
// GET THE TIME
$timestp = time();
$timeout = $timestp - $timeout;
// CONNECT TO DATABASE
if (!link = mysqli_connect('$db_host', '$db_user', '$db_pass', '$db_name')) {
print '<span class="user-online">'.mysqli_connect_error().'</span>';
}
// INSERT THE VALUES
$insert = mysqli_query($link, "INSERT INTO useronline VALUES ('$timestp', '".$_SERVER['REMOTE_ADDR']."', '".$_SERVER['PHP_SELF']."')");
if (!$insert) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// DELETE VALUES WHEN THEY LEAVE
$delete = mysqli_query($link, "DELETE FROM useronline WHERE timestamp < $timeout");
if (!$delete) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// GRAB THE RESULTS
$result = mysqli_querry($link, "SELECT DISTINCT ip FROM useronline WHERE file = '".$_SERVER['PHP_SELF']."'");
if (!$result) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// NUMBER OF ROWS = NUMBER OF PEOPLE ONLINE
$user = mysql_num_rows($result);
// SPIT OUT THE RESULTS
if($user == '1') {
print '<span class="user-online">'.$user.' user online</span>';
} else {
print '<span class="user-online">'.$user.' users online</span>';
}
// CLOSE DATABASE
mysqli_close($link);
?>
doesnt work...Parse error: syntax error...check it out
Cut and paste this...
// GRAB THE RESULTS
$result = mysqli_querry($link, "SELECT DISTINCT ip FROM useronline WHERE file='".$_SERVER['PHP_SELF']."'");
where do i put it, sorry
replaced it white existing line...now it says Parse error: syntax error, line 15
check it out
www.tab-db.com/home.php
<?php
// FILL IN SOME BASIC INFO
$db_host = 'dbhost';
$db_user = 'dbuser';
$db_pass = 'dbpass';
$db_name = 'dbname';
$timeout = '300';
// GET THE TIME
$timestp = time();
$timeout = $timestp - $timeout;
// CONNECT TO DATABASE
if (!link = mysqli_connect('$db_host', '$db_user', '$db_pass', '$db_name')) {
print '<span class="user-online">'.mysqli_connect_error().'</span>';
}
// INSERT THE VALUES
$insert = mysqli_query($link, "INSERT INTO useronline VALUES ('$timestp', '".$_SERVER['REMOTE_ADDR']."', '".$_SERVER['PHP_SELF']."')");
if (!$insert) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// DELETE VALUES WHEN THEY LEAVE
$delete = mysqli_query($link, "DELETE FROM useronline WHERE timestamp < $timeout");
if (!$delete) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// GRAB THE RESULTS
$result = mysqli_querry($link, "SELECT DISTINCT ip FROM useronline WHERE file='".$_SERVER['PHP_SELF']."'");
if (!$result) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// NUMBER OF ROWS = NUMBER OF PEOPLE ONLINE
$user = mysql_num_rows($result);
// SPIT OUT THE RESULTS
if($user == '1') {
print '<span class="user-online">'.$user.' user online</span>';
} else {
print '<span class="user-online">'.$user.' users online</span>';
}
// CLOSE DATABASE
mysqli_close($link);
?>
still same error on line 15?
Parse error: syntax error, unexpected '=' in /var/www/vhosts/tab-db.com/httpdocs/users.php on line 15
Try this...
<?php
// FILL IN SOME BASIC INFO
$db_host = 'dbhost';
$db_user = 'dbuser';
$db_pass = 'dbpass';
$db_name = 'dbname';
$timeout = '300';
// GET THE TIME
$timestp = time();
$timeout = $timestp - $timeout;
// CONNECT TO DATABASE
if (!$link = mysqli_connect('$db_host', '$db_user', '$db_pass', '$db_name')) {
print '<span class="user-online">'.mysqli_connect_error().'</span>';
}
// INSERT THE VALUES
$insert = mysqli_query($link, "INSERT INTO useronline VALUES ('$timestp', '".$_SERVER['REMOTE_ADDR']."', '".$_SERVER['PHP_SELF']."')");
if (!$insert) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// DELETE VALUES WHEN THEY LEAVE
$delete = mysqli_query($link, "DELETE FROM useronline WHERE timestamp < $timeout");
if (!$delete) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// GRAB THE RESULTS
$result = mysqli_querry($link, "SELECT DISTINCT ip FROM useronline WHERE file = '".$_SERVER['PHP_SELF']."'");
if (!$result) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// NUMBER OF ROWS = NUMBER OF PEOPLE ONLINE
$user = mysql_num_rows($result);
// SPIT OUT THE RESULTS
if($user == '1') {
print '<span class="user-online">'.$user.' user online</span>';
} else {
print '<span class="user-online">'.$user.' users online</span>';
}
// CLOSE DATABASE
mysqli_close($link);
?>
It might be better for you to learn web development by build your own application from scratch. The content management scripts you’re using for your site, looks way too complicated for a beginner. As you site grows, it’s going to be very complicated to maintain your code with the system you’re using now.
Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2005): Unknown MySQL server host '$db_host' (1) in /var/www/vhosts/tab-db.com/httpdocs/users.php on line 15
Unknown MySQL server host '$db_host' (1)
Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /var/www/vhosts/tab-db.com/httpdocs/users.php on line 20
Warning: mysqli_error() expects exactly 1 parameter, 0 given in /var/www/vhosts/tab-db.com/httpdocs/users.php on line 22
Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /var/www/vhosts/tab-db.com/httpdocs/users.php on line 26
Warning: mysqli_error() expects exactly 1 parameter, 0 given in /var/www/vhosts/tab-db.com/httpdocs/users.php on line 28
Fatal error: Call to undefined function mysqli_querry() in /var/www/vhosts/tab-db.com/httpdocs/users.php on line 32
????????????????
did you change these values...
$db_host = 'dbhost';
$db_user = 'dbuser';
$db_pass = 'dbpass';
$db_name = 'dbname';
yep..changed all values correctly
And again
<?php
// FILL IN SOME BASIC INFO
$db_host = 'dbhost';
$db_user = 'dbuser';
$db_pass = 'dbpass';
$db_name = 'dbname';
$timeout = '300';
// GET THE TIME
$timestp = time();
$timeout = $timestp - $timeout;
// CONNECT TO DATABASE
if (!$link = mysqli_connect("$db_host", "$db_user", "$db_pass", "$db_name")) {
print '<span class="user-online">'.mysqli_connect_error().'</span>';
}
// INSERT THE VALUES
$insert = mysqli_query($link, "INSERT INTO useronline VALUES ('$timestp', '".$_SERVER['REMOTE_ADDR']."', '".$_SERVER['PHP_SELF']."')");
if (!$insert) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// DELETE VALUES WHEN THEY LEAVE
$delete = mysqli_query($link, "DELETE FROM useronline WHERE timestamp < $timeout");
if (!$delete) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// GRAB THE RESULTS
$result = mysqli_query($link, "SELECT DISTINCT ip FROM useronline WHERE file = '".$_SERVER['PHP_SELF']."'");
if (!$result) {
print '<span class="user-online">'.mysqli_error().'</span>';
}
// NUMBER OF ROWS = NUMBER OF PEOPLE ONLINE
$user = mysqli_num_rows($result);
// SPIT OUT THE RESULTS
if($user == '1') {
print '<span class="user-online">'.$user.' user online</span>';
} else {
print '<span class="user-online">'.$user.' users online</span>';
}
// CLOSE DATABASE
mysqli_close($link);
?>
This time:
Fatal error: Call to undefined function mysqli_querry() in /var/www/vhosts/tab-db.com/httpdocs/users.php on line 32
I edited the code above. Try it again.
getting closer...
check it out www.tab-db.com/home.php
Try the code again.
yup..nw it says 2 users online? is there?
All the errors I made were just stupid typos.