PHP 用户统计代码示例:跟踪访问者 IP、访问次数和历史数据
以下是一个简单的 PHP 用户统计示例:
// 连接数据库
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'database';
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
// 获取当前访问者的 IP 地址
$ip = $_SERVER['REMOTE_ADDR'];
// 记录访问数据
$sql = "INSERT INTO user_stats (ip) VALUES ('$ip')";
$conn->query($sql);
// 获取历史数据
$sql = "SELECT COUNT(*) as total_visits FROM user_stats";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_visits = $row['total_visits'];
// 获取今日访问数据
$today = date('Y-m-d');
$sql = "SELECT COUNT(*) as today_visits FROM user_stats WHERE DATE(visit_time) = '$today'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$today_visits = $row['today_visits'];
// 获取独立 IP 数量
$sql = "SELECT COUNT(DISTINCT ip) as unique_ips FROM user_stats";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$unique_ips = $row['unique_ips'];
// 获取访问次数
$sql = "SELECT COUNT(*) as total_visits FROM user_stats WHERE ip = '$ip'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$visits = $row['total_visits'];
// 输出统计信息
echo '您的 IP 地址是:' . $ip . '<br>';
echo '历史访问量:' . $total_visits . '<br>';
echo '今日访问量:' . $today_visits . '<br>';
echo '独立 IP 数量:' . $unique_ips . '<br>';
echo '您的访问次数:' . $visits . '<br>';
// 关闭数据库连接
$conn->close();
请注意,此示例仅用于演示目的,实际使用中需要进行更多的安全和性能优化。例如,应该对 IP 地址进行过滤和验证,以防止 SQL 注入攻击和其他安全问题。此外,此示例将所有访问数据保存在单个表中,可能会导致性能问题。更好的做法是将数据拆分为多个表或使用 NoSQL 数据库。
原文地址: https://www.cveoy.top/t/topic/mOf0 著作权归作者所有。请勿转载和采集!