首页 前端开发 web应用

小陈导航 · 网址导航站

tts小陈 发布于 2026-08-04 09:54 更新于 2026-08-04 阅读 6 约 2,441 字 · 阅读 7 分钟
web应用 ·

小陈导航 · 网址导航站

小陈的个人网址导航 · 分类整理你的常用网站

一个用原生 PHP 8 + MySQL 写的轻量级网址导航站,自带后台,支持分类与链接的增删改查,界面多彩扁平化、响应式适配手机与电脑。


一、项目简介

「小陈导航」是一个自托管的网址导航站点,类似 hao123 / 百度网址导航的精简版。核心能力:

  • 前台:按分类分组展示网站链接,支持实时搜索、分类快速跳转。
  • 后台:管理员登录后可对「分类」和「链接」做完整的增删改查,并控制分类是否对非管理员公开。
  • 零依赖:纯原生 PHP + MySQL,不需要 Composer、不需要框架,phpstudy 直接跑。
  • 全本地资源:Bootstrap 等静态资源已下载到本地 assets/,不依赖任何外网 CDN。

二、功能特色

前台(访客视角)

  • 多彩渐变英雄区 + 实时搜索框(按名称 / 网址 / 简介过滤)。
  • 吸顶玻璃拟态分类导航,一键平滑滚动到对应分类。
  • 链接以「彩色头像卡」呈现,悬停上浮 + 头像微旋转,显示域名与简介。
  • 分类区块入场错峰淡入动画,右下角「回到顶部」按钮。

后台(管理员视角)

  • 仪表盘:彩色统计卡片(分类数 / 链接数 / 公开数等)。
  • 分类管理:增 / 改 / 删,可设 emoji 图标、排序、是否对非管理员展示
  • 链接管理:增 / 改 / 删,选择分类、填写网址 / 简介 / 图标、排序、启用开关;支持按分类筛选。
  • 可见性控制:被设为「仅管理员」的分类,游客在前台完全看不到;管理员登录后可见并带「仅管理员」标识。

界面预览

前台首页(英雄区 + 分类 + 链接卡)

吸顶分类导航 + 搜索

后台登录

后台仪表盘

分类管理

链接管理


三、环境要求

项目 要求
Web 服务器 Apache / Nginx(phpstudy 自带)
PHP 8.0 及以上
数据库 MySQL 5.5+(需支持 utf8mb4)
扩展 PDO + pdo_mysql(phpstudy 默认开启)
其它 无 Composer、无第三方依赖

四、安装部署

  1. 把站点文件放到 Web 根目录(本项目已放在 D:\phpstudy_pro\WWW\127.0.0.16)。
  2. 浏览器访问 http://127.0.0.16/install.php
    • 页面顶部有「连接诊断」面板:显示 MySQL 连接、库是否存在、表是否已建。
    • 「开始安装」,自动建库建表并写入示例数据(4 个分类 + 示例链接)。
  3. 安装成功后:

备用方案:若数据库账号无建表权限,用 root 登录 phpMyAdmin(http://localhost/phpMyAdmin4.8.5),对 xiaochendaohang 库执行根目录下的 install.sql 即可。

安装后务必做三件事

  1. 修改 config.php 里的 ADMIN_PASS(默认 admin888 太弱)。
  2. 删除根目录 install.php(防止被重复执行或读取诊断信息)。
  3. 如需对外,确认数据库账号口令已改。

五、后台使用说明

模块 路径 说明
登录 /admin/login.php 账号密码在 config.php 写死
仪表盘 /admin/index.php 数据概览
分类管理 /admin/categories.php 增删改查 + 公开开关 + 可见性列
链接管理 /admin/links.php 增删改查 + 分类筛选 + 启用开关
退出 /admin/logout.php 注销登录

可见性规则

  • 分类「对非管理员展示」勾选 → 游客可见;不勾选 → 仅管理员可见。
  • 删除某分类时,其下链接自动归到「未分类」,不丢数据。
  • 链接「启用」开关关闭 → 前台不显示该链接。

六、目录结构

127.0.0.16/
├── config.php            站点名 / 管理员账号 / 数据库配置 / 调色板
├── db.php                PDO 单例连接 + e() 转义 + cat_color() + is_installed()
├── install.php           一键安装(含连接诊断 + 权限兜底)
├── install.sql           手动导入备份(无建表权限时备用)
├── index.php             前台导航页(多彩扁平化)
├── README.md             本文档
├── screenshots/          站点截图(从 127.0.0.16 获取)
├── assets/
│   ├── bootstrap/        本地 Bootstrap 5.3.3(css + js,全本地化)
│   └── style.css         多彩扁平主题
└── admin/
    ├── auth.php          登录鉴权(require_login / is_logged_in)
    ├── login.php         后台登录
    ├── logout.php        退出
    ├── head.php foot.php nav.php   后台统一布局
    ├── index.php         仪表盘
    ├── categories.php    分类管理(增删改查 + 可见性)
    └── links.php         链接管理(增删改查 + 筛选)

七、常见问题

Q:打开前台报 Table 'xiaochendaohang.categories' doesn't exist A:说明还没装数据库。访问 http://127.0.0.16/install.php 完成安装即可(未安装时前台会自动跳转安装页)。

Q:emoji 图标显示成乱码 / 报 1366? A:确保数据库与连接都是 utf8mb4。本项目 install.phpdb.php 已强制 SET NAMES utf8mb4,正常环境无此问题。

Q:想改站点名称 / 描述? A:改 config.php 顶部的 SITE_NAME / SITE_DESC 即可,全站生效。

Q:分类想换配色? A:改 config.php 里的 CAT_COLORS 数组(八色循环),前台与后台同步。

Q:能批量导入链接吗? A:当前版本为单条增删改查。如需 CSV / 批量导入,可后续扩展。


八、技术栈

  • 后端:原生 PHP 8(PDO + 预处理防 SQL 注入)
  • 数据库:MySQL(utf8mb4)
  • 前端:Bootstrap 5.3.3(本地化)+ 原生 CSS 多彩扁平主题
  • 安全:输出统一 e() 转义防 XSS;后台 require_login() 鉴权;登录 === 比对常量不走 SQL

© 小陈导航 · 自托管网址导航

💬 留言 共 0 条 · 登录后可留言
还没有留言,来抢沙发~