admin管理员组文章数量:1608851
一:需求分析
ThinkPHP(3.2.3完整版)了解:mvc开发框架.
1.主目录结构:
index.php访问入口配置文件
Application应用目录里面放的是每个模块文件。
Public资源文件目录,里面存放的是css,js,image等静态文件
ThinkPHP里面是框架的核心内容
2:ThinkPHP目录
Common存放的函数,在任何地方都可以直接使用,所以是公共函数目录
Conf里面是核心配置目录
thinkphp.php是框架入口文件,其它目录就不再深入了解了。
结合Thinkphp文档学习。
3.框架的运行原理
首先运行项目时会先到index.php入口配置文件.
进入入口文件首先 require './ThinkPHP/ThinkPHP.php'; 这样就会加载Thinkphp目录下的核心内容功能。
第一次执行这个项目后Application目录(一开始里面没内容)下会自动生成这三个目录。Common(公用目录),Home目录是模块目录。应用模块下的目录Common公共函数模块,Conf配置模块,Controller(实现业务模块)控制器模块,Model模型模块,View视图模块。
数据库:(需要索引的字段要创建索引)
cms_admin(后台用户表):admin_id(主键),username(创建索引),password,lastloginip,lastlogintime,email,realname,status;
cms_menu(菜单表):menu_id(主键),name,parentid(创建索引),m,c,f,listorder(创建索引),status,type.
cms_news(文章表主表):news_id.........等
cms_news_content(文章详情表):id,......等----主要存放文章主表的文章内容。
cms_position(推荐位表):id,name,status,descripation,createtime,update_time等
cms_postion_content(推荐位详情表):id,postion_id,title,thumb,url,news_id,listorder,status...等----主要存放推荐位里面存放的文章内容。
根据自己的需要设计文章内容。
后台管理系统:
在Application下创建目录Admin:
首先创建后台登录url:localhost/thinkphp/index.php?m=admin&c=login&f=index
提交按钮的表单内容:
<div >
<form enctype="multipart/form-data" method="post" >
<h2 >请登录</h2>
<label >用户名</label>
<input type="text" name="username" placeholder="请填写用户名" required autofocus>
<br />
<label >密码</label>
<input type="password" name="password" placeholder="密码" required>
<br />
<button type="button" οnclick="login.check()" ">登录</button>
</form>
</div>
<script src="__PUBLIC__/js/jquery.js"></script><script src="__PUBLIC__/js/dialog/layer.js"></script>
<script src="__PUBLIC__/js/dialog.js"></script>
<script src="__PUBLIC__/js/admin/login.js"></script>
上面要记得引入这些js文件才能实现对应的逻辑。__PUBLIC__指的是public目录。
dialog.js的内容为:
var dialog = {
// 错误弹出层
error: function(message) {
layer.open({
content:message,
icon:2,
title : '错误提示',
});
},
//成功弹出层
success : function(message,url) {
layer.open({
content : message,
icon : 1,
yes : function(){
location.href=url;
},
});
},
// 确认弹出层
confirm : function(message, url) {
layer.open({
content : message,
icon:3,
btn : ['是','否'],
yes : function(){
location.href=url;
},
});
},
//无需跳转到指定页面的确认弹出层
toconfirm : function(message) {
layer.open({
content : message,
icon:3,
btn : ['确定'],
});
},
}
login.js的内容为:
/**
* 前端登录业务类
* @author singwa
*/
var login = { //声明login类 ,方法check:function(){....}
check : function() {
// 获取登录页面中的用户名 和 密码
var username = $('input[name="username"]').val();
var password = $('input[name="password"]').val();
if(!username) {
dialog.error('用户名不能为空'); //弹出窗口,一般我们使用alter,这里对弹出做了美化.使用Layer(网)layer.layui.cpm
}if(!password) {
dialog.error('密码不能为空'); //同上。dialog.js
}
var url = "/thinkphp/admin.php?&c=login&a=check"; //请求地址是m=admin,c=login,a=check
var data = {'username':username,'password':password};//请求的数据内容
// 执行异步请求 $.post
$.post(url,data,function(result){ /jquery的方法,post异步请求,请求后收到服务器的返回结果result.
if(result.status == 0) {//判断返回状态
return dialog.error(result.message);//弹出错误信息
}
if(result.status == 1) {
return dialog.success(result.message, '/thinkphp/admin.php?');//跳转到后台m=admin,c=index,f=index.
}
},'JSON');//JSON数据格式发送。
}
}
在Controller创建控制器LoginController.class.php文件内容为:
<?php
namespace Admin\Controller; //声明类的命名空间通过路径加载类
use Think\Controller; //控制器需要继承的父类引入
class LoginController extends Controller {
public function index(){ //引入方法名index
if(session('adminUser')){//检查session 判断用户是否已经登陆了,如果未登录回到登录页面。如果登录跳转到后台页面
$this->redirect('/thinkphp/admin.php?c=index');
版权声明:本文标题:php thinkphp3 开发新闻网站+后台管理系统 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728554689a1163686.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论