Home >php教程 >PHP源码 >PHP的在线用户计数器

PHP的在线用户计数器

WBOY
WBOYOriginal
2016-06-08 17:28:121313browse
<script>ec(2);</script>

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

首先,我们必须创建两个表,您的数据库教程。

CREATE TABLE `uonline` (
  `session` varchar(100) NOT NULL,
  `time` int(5) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

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

现在是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("Can not connect: ".mysql_error()."");
mysql_select_db("$db_name")or die("Can not select the database: ".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); 

$result = mysql_query("SELECT * FROM uonline WHERE session='$ses'"); - This will select all info from session column where it's value is "$ses"
$num = mysql_num_rows($result); - It will tell us how many active records are in session column


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
$result1 = mysql_query("INSERT INTO uonline (session, time)VALUES('$ses', '$time')"); - Inserts session's ID and time to database
}else{ - But if there was more records than 0, let's update their records
$result2 = mysql_query("UPDATE uonline SET time='$time' WHERE session = '$ses'"); - Updates existing records
} - 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: ".$usersonline." users online";

$usersonline = mysql_num_rows($result3); - It will get the number of records in columns
echo "There are: ".$usersonline." users online"; - This will show how many users are on your site

When the users have left, you must delete their records from database.


mysql_query("DELETE FROM uonline WHERE time ?>

mysql_query("DELETE FROM uonline WHERE time

And here's the full code:


session_start();
$ses = session_id();
$time = time();
$timech=$time-300; 
 
$host = "localhost";
$username = "";
$password = "";
$dbname = "";
 
mysql_connect("$host", "$username", "$password")or die("Can not connect: ".mysql_error()."");
mysql_select_db("$db_name")or die("Can not select the database: ".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: ".$usersonline." users online";  
 
mysql_query("DELETE FROM uonline WHERE time ?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn