一、源码简介

一套纯手写原生的PHP网站管理后台,前端利用LayUI实现,实现PHP初学者专研学习使用,对于PHP学习的人,只有熟悉了原生的PHP开发,才适合利用其它框架搭建自己的网站平台。封城期间,百无聊赖,于是利用PHP8手写了一套原生的管理系统,以供新手学习参考使用。同时,利用nodejs也写了一套,两套共用一个数据库。功能和操作界面基本一样。

本系统最大的难点一是安全策略,另一个就是递归分类的算法,要实现的功能有很多,有的是列出出树形结构,有时候需要根据子ID查询父级,有时候,需要父ID查询所有子级,还有根据子级查询兄弟级等很多算法,研究了很久。大概经历了两月左右,其间还有其它事情要做,陆陆续续将所有的问题一一解决,最后,终于出了第一版。还有第二版,第三版,不断在改进中。另外,还写了一个NODEJS版本。方便不同的用户需要。

后台登录界面

二、部分代码演示

这是简单的登录管理后台界面,登录后,登录代码很简单,即可进入管理首页。

session_start();include("../inc/sql.php");//登录页专用防SQL注册函数function str_check( $value ) { if(!get_magic_quotes_gpc()) { // 进行过滤 $value = addslashes($value); }$value = str_replace("'", "\'", $value); $value = str_replace("-", "——", $value); $value = str_replace("%", "\%", $value); return $value; } if (isset($_GET['action']) && $_GET['action'] == 'logout' ) {setcookie('id','',time()-3600);setcookie('account','',time()-3600);session_destroy();header('location:login.php');}if(trim($_COOKIE['id']) and trim($_SESSION['account'])) {echo '<script>window.location.href="home.php";</script>';return false;}if(!empty($_POST)){if ($_POST['vcode'] !== $_SESSION["vcode"]) {echo '<script>window.alert("验证码不正确");history.back();</script>';return false;}if(empty($_POST['account'])){echo '<script>window.alert("请输入账号");history.back();</script>';return false;}if(empty($_POST['password'])){echo '<script>window.alert("请输入密码");history.back();</script>';return false;}$stmt = $pdo->prepare('SELECT * From admin WHERE `account`="'.str_check($_POST['account']).'"');$stmt->execute();$admin = $stmt->fetchAll();if(empty($admin)){echo '<script>window.alert("账号不存在");history.back();</script>';return false;}$find = $admin[0];/*--------------------*//*--------------------*/if($find['password'] != md5($_POST['password'])){echo '<script>window.alert("密码不正确");history.back();</script>';return false;}setcookie('id',$find['id']);setcookie('account',$find['account']);$_SESSION['account'] = $find['account'];echo '<script>window.alert("登录成功");window.location.href="home.php";</script>';return false;}

三、运行截图

​​​​​​​

登录后主页

文章列表管理界面

分类列表管理界面

分类添加界面

新闻发布界面

产品发布界面

友情链接列表管理

前端读产端读取数据展示

先从数据库中获取到数据,构建树型分组,然后,构建导航,再利用JQ实现多级的显示。

function getTreeMenu($data , $pId =0) {$tree = [];foreach ( $data as $k => $v ) {if ( $v['pid'] == $pId ){//父亲找到儿子$v['children'] = getTreeMenu ( $data ,  $v['id']);$tree[] = $v ;//unset($data[$k]);}}return $tree ;
}
//$tree  = getTree( $data , 0);
//构建导航,需要这套系统的朋友可以寇寇 190151304
function buildMenu($menuArray) { foreach ($menuArray as $node) {if(empty($node['links'])) {$links = 'list.php?id='.$node['id'];}else{$links = $node['links']; }if ($node['isblank'] == '1') {$blank = ' target="_blank"';}echo '<li><a href="'.$links.'" '.$blank.'>' . $node['name'] . '</a>'; if (!empty($node['children'])) { echo '<ul>'; buildMenu($node['children']); echo '</ul>'; } echo '</li>'; }
}
<nav class="main-navigation"><ul class="nav-menu d-flex"><?php$stmt = $pdo->prepare('SELECT * FROM class WHERE isnav="1" ORDER BY sort,id ASC');$stmt->execute();$menu = $stmt->fetchAll();$nav_arr = getTreeMenu($menu);//print_r($nav_arr) ;?><li><a href="index.php">首页</a></li><?php echo buildMenu($nav_arr);    ?></ul>
</nav>
<script>$(function(){$('.nav-menu li').hover(function(){$(this).children('ul').stop(true).slideDown();},function(){$(this).children('ul').stop(true).slideUp();})});
</script>

对于大神来说,这些技术都是弱鸡,但是对于初学者来说,很难的。每一步的实现都是经过耗费了无数脑细胞才能完成的。

经过两个多月的努力,第一版终于完成了,而且还给很多客户应用了很多次,没有任何错误。只是在实践中,发现很多不完美的地方,于是又更新为第二版。后来,又参考很多CMS的做法,现在已经正在完善第三版。

初学者有一套参考的完整的代码,是一件非常幸运的事情,可以省去很多查找资料的麻烦。代码拿来就用,或者直接在原基础上完善修改,完全可以实现一套全新的自己开发的独立系统。

需要获取源码的朋友请关注VX公众号:比特网络服务

纯手写原生PHP网站管理后台系统 网站管理系统相关推荐

  1. HTML5期末大作业:商城网站设计——仿唯品会购物商城(5页) 纯手写-高质量 HTML+CSS+JavaScript

    HTML5期末大作业:商城购物网站设计--仿唯品会商城(5页) 纯手写 HTML+CSS+JavaScript 期末作业HTML代码 学生网页课程设计期末作业下载 web网页设计制作成品 常见网页设计 ...

  2. 【手写系列】纯手写实现一个高可用的RPC

    前言 在实际后台服务开发中,比如订单服务(开发者A负责)需要调用商品服务(开发者B负责),那么开发者B会和A约定调用API,以接口的形式提供给A.通常都是B把API上传到Maven私服,然后B开始写A ...

  3. 纯手写SpringFramework-完结版(原创)

    个人简介 作者是一个来自河源的大三在校生,以下笔记都是作者自学之路的一些浅薄经验,如有错误请指正,将来会不断的完善笔记,帮助更多的Java爱好者入门. 文章目录 个人简介 纯手写SpringFrame ...

  4. 【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(3.11-3.12)

    [全栈之巅]Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(3.11-3.12) 本项目是 学习Bilibili 全栈之巅 视频教程相关源码和体会 https://gi ...

  5. Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台

    前言 最近在跟着Johnny的全栈之巅系列视频教程学习使用NodeJS+Express+Element-UI+MongoDB等开发王者荣耀,服务端server,移动端web,admin,学到了不少东西 ...

  6. 学习【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台笔记(2.8-2.9)

    [全栈之巅]Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台 本项目是 学习Bilibili 全栈之巅 视频教程相关源码和体会 https://gitee.com/blaunic ...

  7. 学习【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台笔记(1.1-2.5)

    [全栈之巅]Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台 本项目是 学习Bilibili 全栈之巅 视频教程相关源码和体会 https://gitee.com/blaunic ...

  8. 【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(3.6-3.10)

    [全栈之巅]Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(3.6-3.10) 本项目是 学习Bilibili 全栈之巅 视频教程相关源码和体会 https://git ...

  9. 【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(3.16-3.20)

    [全栈之巅]Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(3.16-3.20) 本项目是 学习Bilibili 全栈之巅 视频教程相关源码和体会 https://gi ...

最新文章

  1. 【狼】unity3d point light 个数限制更改
  2. Android-处理EditText中的“ Enter”
  3. linux快速还原oracle,linux下恢复误删除oracle的数据文件
  4. 判断scrollview是否滚动到了底部
  5. gulp 安装时一直提示缺少模块( Cannot find module 'gulp-load-plugins')
  6. Lucas定理及组合数取模
  7. [转载] Python3 数组
  8. RocketMQ有哪些消息类型?springboot如何整合rocketMQ
  9. 计算机系统结构开设学校,计算机系统结构专业介绍及考研院校排名
  10. 实习成长之路——Spring Bean 二:如何注册BeanDefinition?
  11. Vim 多行剪切、复制和删除
  12. LINUX下载编译OpenSSL
  13. sql server 2005_全文目录
  14. 面向初学者的 Android 应用开发基础知识
  15. usb_modeswitch下载与安装
  16. 山寨智能机多采用盗版Windows Mobile系统
  17. CentOS7 部署 RAID 磁盘阵列
  18. 微信小程序开发之视频video组件报错:渲染层网络层错误
  19. 教师管理系统代码html,江苏省教职工信息管理系统:https://www.jste.net.cn/cmsplus/index.html...
  20. 移动端电商首页制作-京东

热门文章

  1. Prolog教程 4
  2. 渗透测试服务 甲方公司OA网站系统漏洞测试
  3. 《软技能·代码之外的生存指南》读书笔记 ——健身
  4. GL-SF1200 路由器 使用 ipv6 的方法
  5. C++数组对角线求和
  6. SpaceX 预计2至3年内开始环球客运测试;北斗卫星导航系统完成全球组网
  7. [论文笔记] the book of why 0.引言
  8. 据说可以坚持练习可以长高
  9. 关于win7系统注册表权限usbstor和superCMD
  10. PCB 丝印规范及要求