首页 > php代码 > PHP的在线用户计数器

PHP的在线用户计数器

现在我将告诉你如何看到有多少用户在浏览您的网站。有许多方法来显示它,但我试图保持它简单,干净。

首先,我们必须创建两个表

CREATE TABLE `uonline` ( 

  `session` varchar(100) NOT NULL, 

  `time` int(5) NOT NULL default '0' 

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

这将创建两个表。一个是会议和其他的是时间。他们将我们的信息存储。

现在是PHP的时间。让我们一起创造我们的主要变数

<?php
session_start(); 
$ses = session_id(); 
$time = time(); 
$timech=$time-300;
session_start(); // This wills start a session
$ses = session_id(); //This will get our session's ID
$time = time(); //This will get the time
$timech=$time-300; - This will set our time to 5min
Now we have to connect to the database:
// Declare SQL login info 
$host = "localhost"; 
$username = ""; 
$password = ""; 
$dbname = ""; 
 
// Now we are going to connect to our database 
mysql_connect("$host", "$username", "$password")or die("<b>Can not connect:</b> ".mysql_error()); 
mysql_select_db("$db_name")or die("<b>Can not select the database:</b> ".mysql_error());
$host = "localhost"; // Your SQL's host name, usually it's "localhost"
$username = ""; // Your MySQL username
$password = ""; // Your MySQL password
$dbname = ""; // Your database's name
//Now we have to look for existing sessions and get the number of sessions.
$result = mysql_query("SELECT * FROM uonline WHERE session='$ses'"); 
$num = mysql_num_rows($result);
// This will select all info from session column where it's value is "$ses"
$result = mysql_query("SELECT * FROM uonline WHERE session='$ses'"); 
// It will tell us how many active records are in session column
$num = mysql_num_rows($result); 
if($num == "0"){ 
$result1 = mysql_query("INSERT INTO uonline (session, time)VALUES('$ses', '$time')"); 
}else{ 
$result2 = mysql_query("UPDATE uonline SET time='$time' WHERE session = '$ses'"); 
}
if($num=="0"){ // If there's no records in session column then we must insert some records
// Inserts session's ID and time to database
$result1 = mysql_query("INSERT INTO uonline (session, time)VALUES('$ses', '$time')");
//But if there was more records than 0, let's update their records
}else{
//Updates existing records
$result2 = mysql_query("UPDATE uonline SET time='$time' WHERE session = '$ses'");
} // Ends If statement
//Now let's find our info again from the columns:
$result3 = mysql_query("SELECT * FROM uonline");
$result3 = mysql_query("SELECT * FROM uonline"); //This will get all info from uonline table
//It's time for showing how many users are looking your site:
$usersonline = mysql_num_rows($result3); 
echo "There are: <b>".$usersonline."</b> users online";
$usersonline = mysql_num_rows($result3); // It will get the number of records in columns
// This will show how many users are on your site
echo "There are: <b>".$usersonline."</b> users online"; 
//When the users have left, you must delete their records from database.
mysql_query("DELETE FROM uonline WHERE time<$timech"); 
?>
// Deletes records from database when 5min has been thru.
mysql_query("DELETE FROM uonline WHERE time<$timech"); 
And here's the full code:
<?php 
session_start(); 
$ses = session_id(); 
$time = time(); 
$timech=$time-300;  
 
$host = "localhost"; 
$username = ""; 
$password = ""; 
$dbname = ""; 
 
mysql_connect("$host", "$username", "$password")or die("<b>Can not connect:</b> ".mysql_error()); 
mysql_select_db("$db_name")or die("<b>Can not select the database:</b> ".mysql_error());   
 
$result = mysql_query("SELECT * FROM uonline WHERE session='$ses'"); 
$num = mysql_num_rows($result);  
 
if($num == "0"){ 
$result1 = mysql_query("INSERT INTO uonline (session, time)VALUES('$ses', '$time')"); 
}else{ 
$result2 = mysql_query("UPDATE uonline SET time='$time' WHERE session = '$ses'"); 
}  
 
$result3 = mysql_query("SELECT * FROM uonline");  
 
$usersonline = mysql_num_rows($result3); 
echo "There are: <b>".$usersonline."</b> users online";   
 
mysql_query("DELETE FROM uonline WHERE time<$timech");


本文地址:http://www.phprm.com/code/498e5380022e14c44f0d3f991b213630.html

转载随意,但请附上文章地址:-)

标签:none

发表留言