之前的前台页面的导航栏是通过a标签实现跳转的,但是在实际项目中栏目的信息可能是动态变化的,因此展示的导航栏也会根据数据库存储的变化而变化;通过后台操作对导航栏的管理,实现前台页面的展示。每次打开前台页面都需要优先展示导航栏,需要创建初始化方法在其他页面的控制器调用之前调用导航栏页面
登录成功后需要在头部展示登录的管理员的名称信息,并且点击修改能跳转到修改页面进行操作登录成功后,需要将用户的信息写入服务器的session中,从session中获取用户名和idthinkPHP5的session使用方法https://www.kancloud.cn/manual/thinkphp5/126166在登录的model中成功后写入session
管理员登录就是根据用户输入的信息对数据库进行比对返回处理结果数据库连接处理放在模型model中新建登录对应的控制器文件controller/Login.php,模型文件model/Login.php,视图view/Login/login.html
包含获取管理员列表、修改管理员和删除等方法。另外,保留了一个管理员不能删除和对管理员的密码进行了md5加密,由于md5加密空后不为空,所以先进行空验证再加密
thinkPHP5提供了模型增加数据的功能,通过实例化模型来实现数据库操作,下面以增加链接为例分享改功能的使用,在admin下新建文件model/Link.php模型文件并初始化定义
类似于添加栏目和文章完善添加友情链接的功能分别新建友情链接link对应的视图模板、控制器和验证器文件
页面间传值;数据库查询;模板赋值;下拉框赋值,略缩图展示等,文章列表页面修改跳转点击修改跳转到edit页面,并将文章的id值传过去
文章列表展示的主要功能点有:联动栏目数据库查询文章对应的栏目展示出来;展示略缩图;展示格式化时间;列表分页;
本文分享在创建文章时读取栏目列表并选择的功能首先在数据库中添加cateid字段,类型为mediumint创建文章的页面展示cate代码
thinkPHP5提供了场景验证功能,参考文档位于https://www.kancloud.cn/manual/thinkphp5/129322比如在创建栏目中,我们不允许关键词为空,而在编辑栏目时允许关键词为空,在同一个验证器中,可以针对这些不同的场景进行不同的验证定义首先打开之前写好的cate验证器application/admin/validata/Cate.php,添加指定处代码:
新增文章验证器和控制器,根据[thinkPHP5入门实战_09]后台添加栏目及验证介绍新增栏目的方式构建新增文章的操作方法
创建文章信息存储数据表访问http://localhost/phpMyAdmin/index.php默认账号和密码为root,创建数据库tp5,新建数据表tp6_article,字段数为8
如果开发过程中出现了页面不可用,请稍后再试,可以将application文件夹下的config.php文件中的调试模式打开,可以看到代码报错提示信息。
上一篇分享了如何添加栏目和验证。添加栏目后需要将其从数据库中取出展示在列表上,比如数据库的tp5_cate有以下数据,在Cate控制器的lists方法中读取数据数据并赋值给模板
上一篇介绍了前台页面的模板分离和URL生成,构建博客系统还需要后台管理系统,通过类似的方法构建后台的模板
在前端网页项目中不同的页面存在公共的模块,例如头部、底部和侧边栏等,使用tp5的模板分离可以将这些公共模块抽出,在需要的页面进行引入减少前端代码量,提高运行效率以前台页面为例,在application/index/view下面新建一个Public文件夹,用于存放页面公共模板,分别新建header.html,resource.html,footer.html,sidebar.html将网页公共部分提取出来
后台页面的引入与前台页面的引入类似,thinkphp后台页面,后台页面引入,后台管理应作为一个单独的模块存放,在application中新建admin文件夹,用于存放后台管理的控制器和视图
PHP-人员权限管理(RBAC),权限管理可以想做vip的功能,普通用户和vip用户的功能是不一样的,大致会用到五张表:用户表、角色表、功能表,还有他们之间互相关联的表:用户与角色表、角色与功能表
thinkphp5的项目实战了解tp框架,可以根据自己不同的业务逻辑进行拓展,本教程是入门型的,相关拓展请自行解决
常说的页面静态化分为两种,一种是伪静态,即url 重写,一种是真静态化。前两篇讲了两种静态化方法,基本都是使用TP自带的静态化机制。但TP写的网站页面路由都比较繁琐复杂,不利于引擎优化。
在网站http跳转https的时候我们的免费证书只能使主域名跳转,而二级域名就成了危险标识,所利用规则只让顶级域名跳转https,二级域名正常访问http
首先创建函数: checkToekn($token)函数用于检验 token 是否存在, 并且更新 token创建函数:douserLogin($username,$password)用于验证用户名密码, 并登陆, 返回 token 信息
注册的时候我们经常需要给注册用户发送邮件进行激活验证,我们一般使用最多的就是phpmailer这个类库。今天自己研究了半天,和ThinkPHP进行了一下整合。方便初学者参考
最近自己在phpmyadmin工具上备份的数据库用navicat for mysql工具导入,网站打开各种字段报错也就是1366报错
最近看到自己网站右上角出现不安全的标识,发现只有http协议才会出现,所有想给自己追梦猪加上安全的字样,所有写了这篇安装HTTPS的心得,因为个人网站对于https的要求不是很高,所有选择了阿里云的免费HTTPS证书
当值为DENY时,浏览器会拒绝当前页面加载任何frame页面;若值为SAMEORIGIN,则frame页面的地址只能为同源域名下的页面;若值为ALLOW-FROM,则可以定义允许frame加载的页面地址。
我们配置好apache和php之后因为不是用的集成的环境,所以都需要我们去手动开启一些配置,来支持环境运行,我们所测试的为thinkphp5.0开发环境!
追梦猪在做vue项目的时候会遇见各种各样的奇葩报错,以此收集来带入坑不知所措的坑友脱坑,当你在改完vue代码进行热加载的时候,我们的控制台出现了报红(也就是错误),打开控制台f12看到以下如图所示错误:
常说的页面静态化分为两种,一种是伪静态,即url 重写,一种是真静态化。前两篇讲了两种静态化方法,基本都是使用TP自带的静态化机制。但TP写的网站页面路由都比较繁琐复杂,不利于引擎优化。
报错 npm Error : EBUSY resource busy or locked出现这样的错误是因为我们的文件被占用就是其他地方可能在使用文件夹或文件导致无法删除造成的,
在hbuilderX启动拷贝下来的项目的时候uniapp云端打包提示:“DCloud APPID非当前账号所有,请联系应用所有者设置此账号为协作者,或重新生成APPID后打包”
刚开始我是通过在index页面直接引入wow.js效果,第一天可以,但是第二天就不行了,看了一下代码的前端执行结果发现动画的名称是none,那问题出现在了没有找到动画名称,为什么会出现这样的我想应该是加载顺序导致的,wow.js在页面加载完以后便已经执行了,但是我的数据还没有获取到所有才出现了数据被display:none;