纯手写原生PHP网站管理后台系统 网站管理系统
一、源码简介
一套纯手写原生的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 ''; return false;}if(!empty($_POST)){if ($_POST['vcode'] !== $_SESSION["vcode"]) {echo ''; return false;}if(empty($_POST['account'])){echo ''; return false;}if(empty($_POST['password'])){echo ''; return false;}$stmt = $pdo->prepare('SELECT * From admin WHERE `account`="'.str_check($_POST['account']).'"'); $stmt->execute(); $admin = $stmt->fetchAll(); if(empty($admin)){ echo ''; return false; }$find = $admin[0]; if($find['password'] != md5($_POST['password'])){ echo ''; return false; } setcookie('id',$find['id']);setcookie('account',$find['account']);$_SESSION['account'] = $find['account']; echo ''; 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);//构建导航,需要这套系统的朋友可以寇寇 190151304function 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 '' . $node['name'] . ''; if (!empty($node['children'])) { echo ''; buildMenu($node['children']); echo '
'; } echo ' '; } }
对于大神来说,这些技术都是弱鸡,但是对于初学者来说,很难的。每一步的实现都是经过耗费了无数脑细胞才能完成的。
经过两个多月的努力,第一版终于完成了,而且还给很多客户应用了很多次,没有任何错误。只是在实践中,发现很多不完美的地方,于是又更新为第二版。后来,又参考很多CMS的做法,现在已经正在完善第三版。
初学者有一套参考的完整的代码,是一件非常幸运的事情,可以省去很多查找资料的麻烦。代码拿来就用,或者直接在原基础上完善修改,完全可以实现一套全新的自己开发的独立系统。
需要获取源码的朋友请关注VX公众号:比特网络服务
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341