PHP+HTML 实现网站访问统计功能:记录每日访问数据、IP 和 PV 量
以下是一个简单的 PHP+HTML 代码示例,用于实现网站访问统计功能,记录每天的访问数据、IP 和 PV 量:
index.php (网站首页)
<?php
// 获取访客IP地址
$ip = $_SERVER['REMOTE_ADDR'];
// 连接数据库(假设使用MySQL)
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'database';
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die('连接数据库失败: ' . $conn->connect_error);
}
// 获取当前日期
$date = date('Y-m-d');
// 检查今天的记录是否存在
$sql = "SELECT * FROM statistics WHERE date = '$date'" ;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 如果已存在记录,则更新PV量
$row = $result->fetch_assoc();
$pv = $row['pv'] + 1;
$sql = "UPDATE statistics SET pv = $pv WHERE date = '$date'" ;
} else {
// 如果不存在记录,则插入新的记录
$pv = 1;
$sql = "INSERT INTO statistics (date, ip, pv) VALUES ('$date', '$ip', $pv)" ;
}
// 执行SQL语句
if ($conn->query($sql) === TRUE) {
echo 'PV量更新成功';
} else {
echo '更新PV量时出错: ' . $conn->error;
}
// 关闭数据库连接
$conn->close();
?>
<!DOCTYPE html>
<html>
<head>
<title>网站访问统计</title>
</head>
<body>
<h1>欢迎访问网站</h1>
<p>今日访问量:<?php echo $pv; ?></p>
</body>
</html>
statistics.php (访问统计页面)
<?php
// 连接数据库(假设使用MySQL)
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'database';
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die('连接数据库失败: ' . $conn->connect_error);
}
// 获取所有访问记录
$sql = "SELECT * FROM statistics" ;
$result = $conn->query($sql);
// 关闭数据库连接
$conn->close();
?>
<!DOCTYPE html>
<html>
<head>
<title>访问统计</title>
</head>
<body>
<h1>访问统计</h1>
<table>
<tr>
<th>日期</th>
<th>IP地址</th>
<th>PV量</th>
</tr>
<?php
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td>' . $row['date'] . '</td>';
echo '<td>' . $row['ip'] . '</td>';
echo '<td>' . $row['pv'] . '</td>';
echo '</tr>';
}
} else {
echo '<tr><td colspan='3'>无访问记录</td></tr>';
}
?>
</table>
</body>
</html>
注意:上述代码假设数据库使用MySQL,并且需要根据实际情况修改数据库连接参数($servername、$username、$password、$dbname)。
原文地址: https://www.cveoy.top/t/topic/6s5 著作权归作者所有。请勿转载和采集!