php - 使用 PHP 在线访问独立访客

标签 php mysql

好吧,我正在使用 PHP 脚本和 MySQL 来显示在线访问者的数量。我在每个页面上调用该函数,并且需要一种方法来避免在同一 session 期间出现来自同一个人的重复条目。

它工作正常,但每次加载页面都会增加访问者。我认为在 session 变量上使用“require_once”语句会起作用,但不行。下面是PHP代码,请帮忙!

//users online
function update_user_time()

{

    session_start();
    $session=session_id();
    $time=time();
    $time_check=$time-600; //SET TIME 10 minutes

    $host="localhost"; // Host name
    $username="______"; // Mysql username
    $password="______"; // Mysql password
    $db_name="______"; // Database name
    $tbl_name="______"; // Table name

    // Connect to server and select databse
    mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
    mysql_select_db("$db_name")or die("cannot select DB");
    $sql="SELECT * FROM $tbl_name WHERE session='$session'";
    $result=mysql_query($sql);

    $count=mysql_num_rows($result);
    if($count=="0"){

    $sql1="INSERT INTO $tbl_name(session, time)VALUES('$session', '$time')";
    $result1=mysql_query($sql1);
    }

    else {
    "$sql2=UPDATE $tbl_name SET time='$time' WHERE session = '$session'";
    $result2=mysql_query($sql2);
    }

    $sql3="SELECT * FROM $tbl_name";
    $result3=mysql_query($sql3);
    $count_user_online=mysql_num_rows($result3);
    echo "[ $count_user_online users online ]";

    // if over 10 minute, delete session 
    $sql4="DELETE FROM $tbl_name WHERE time<$time_check";
    $result4=mysql_query($sql4);

    // Open multiple browser page for result


    // Close connection
    mysql_close();

}

最佳答案

我会设置一个 session 变量,并且仅在未设置该 session 变量时才增加访问者计数器。

关于php - 使用 PHP 在线访问独立访客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13906053/

相关文章:

javascript - PHP & cURL——奇怪的输出

PHP PDO更新错误: number of bound variables does not match number of tokens

mysql - 是否可以创建 "foreign key pair"? - SQL

php - 在前端搜索中显示最新的 mysql 行

php - MySQL 和 PHP - 如何仅显示前五行?

php - Laravel 通过引用事件订阅者传递数组

php - 更改 Laravel 6.5.1 上的 id 列名称

php - EOF 真的存在吗?

php - 拉维尔 5 : how can I retrieve and display all posts that belong to certain category

mysql - rails 将 geoip 资源保存在同一个数据库或分离的数据库中哪个更好?