当前位置:网站首页 >  攻略

实操指南:宝塔面板实现广告点击数据统计完整落地教程

时间:2026年05月29日 17:39:34 来源:易频IT社区

一、前期准备

1.1 前提条件

你已经完成宝塔面板安装,服务器已经启用PHP 5.6及以上版本、MySQL 5.5及以上版本,以上都是宝塔默认安装的内容,不需要额外部署。

1.2 准备信息

  • 已解析到你的服务器IP的域名(可使用已有站点的二级域名)
  • 预留文本记录后续的数据库账号密码信息

二、创建统计数据库

按以下步骤操作创建存储统计数据的数据库和数据表:

  • 登录宝塔面板后台,点击左侧菜单栏【数据库】
  • 点击页面右上角【添加数据库】按钮,在弹出框中填写配置:
    • 数据库名:填写ad_stats(也可自定义,后续对应修改即可)
    • 用户名:填写ad_stats
    • 密码:点击生成随机密码,把生成的账号密码复制到预留文本中
    • 访问权限:选择本地即可
    • 点击提交完成数据库创建
  • 点击刚创建数据库右侧的【管理】按钮,进入phpMyAdmin管理页,点击顶部【SQL】标签,粘贴以下SQL语句,点击执行完成数据表创建:
```sql CREATE TABLE IF NOT EXISTS `ad_click` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ad_id` varchar(50) NOT NULL COMMENT '广告ID,区分不同广告', `click_ip` varchar(50) NOT NULL COMMENT '点击用户IP', `click_time` datetime NOT NULL COMMENT '点击时间', `referer` varchar(255) DEFAULT NULL COMMENT '点击来源页面', PRIMARY KEY (`id`), KEY `ad_id` (`ad_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ```

三、上传统计核心文件

进入你要放统计的站点根目录(宝塔中点击网站列表右侧的根目录即可直接进入文件管理),创建两个核心文件,分别修改开头的数据库配置即可直接使用:

第一个文件:命名为ad-click.php,粘贴以下代码,修改数据库密码配置:

```php ```

第二个文件:命名为ad-view.php,用来查看统计数据,同样修改数据库配置:

```php 广告点击统计 "; } mysqli_close($conn); ?>
广告ID总点击量最近点击时间
{$row['ad_id']}{$row['total']}{$row['last_time']}
```

修改完配置后保存两个文件,核心部署就完成了。

四、嵌入广告统计链接

实操指南:宝塔面板实现广告点击数据统计完整落地教程

把你需要统计点击的广告链接替换为统计跳转链接,链接格式如下:

https://你的站点域名/ad-click.php?ad_id=广告唯一标识&target=广告目标地址

  • ad_id参数:用来区分不同位置的广告,比如首页首屏Banner可以填home_top_banner,文章页侧边广告填post_side_ad1,方便后续分广告查看数据
  • target参数:就是你原来的广告目标跳转地址,如果目标地址本身包含&符号,在HTML中编写链接时需要把&替换为&,避免参数解析错误

替换完成后,每一次用户点击广告都会自动把数据记录到数据库中。

五、加访问保护,查看统计数据

统计数据属于隐私信息,必须给查看页添加访问保护,操作步骤如下:

  • 在宝塔网站列表,点击对应站点右侧的设置
  • 找到左侧菜单目录保护,点击添加保护目录
  • 保护目录填写/,设置自定义的访问用户名和密码,点击保存

完成后你就可以通过https://你的域名/ad-view.php访问,输入刚才设置的用户名密码,就能看到所有广告的点击统计汇总数据。

六、常见优化与问题排查

1. 过滤同IP短时间重复点击

如果不想统计同一个用户24小时内的重复点击,可以在ad-click.php中连接数据库之后、插入数据之前加上以下代码:

```php // 24小时内同IP同广告只统计一次 $check_sql = "SELECT id FROM ad_click WHERE ad_id = '$ad_id' AND click_ip = '$ip' AND click_time > DATE_SUB(NOW(), INTERVAL 24 HOUR)"; $check_res = mysqli_query($conn, $check_sql); if(mysqli_num_rows($check_res) > 0){ header("Location: $target"); exit; } ```

2. 跳转失败排查

  • 检查target参数是否正确编码,目标地址不能有未转义的特殊字符
  • 检查数据库配置中的密码、库名是否和之前创建的一致,宝塔默认数据库地址就是localhost,不需要改端口

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图