热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

thinkphp5项目个人博客(二)

项目地址fry404006308personalBlog:personalBloghttps:github.comfry404006308personalBlog 一、删除管理员 

项目地址

fry404006308/personalBlog: personalBlog
https://github.com/fry404006308/personalBlog

 

一、删除管理员

thinkphp5项目--个人博客(二)

 

 1     public function del(){
 2         $id=input('id');
 3         //初始化管理员不能删除
 4         // 根据主键删除
 5         if($id!=1){
 6             //删除操作
 7             $deleted=db('admin')->delete(input('id'));
 8             if($deleted){
 9                 return $this->success('删除管理员成功!!','lst');
10             }else{
11                 return $this->error('删除管理员失败!!');
12             }
13         }else{
14             return $this->error('初始化管理员不能删除!!');
15         }
16     }

 

1                                     {if cOndition="$value['id'] neq 1"}
2                                     <a href="#" onClick="warning('确实要删除吗', '{:url('admin/del',array('id'=>$value['id']))}')" class="btn btn-danger btn-sm shiny">
3                                         <i class="fa fa-trash-o">i> 删除
4                                     a>
5                                     {/if}

 

二、修改管理员

thinkphp5项目--个人博客(二)

 

控制器中

 1     public function edit(){
 2 
 3         $id=input('id');
 4         $data=db('admin')->find($id);
 5 
 6         //如果是提交过来的数据
 7         if(request()->isPost()){
 8             $arr=[
 9                 'id'=>input('id'),
10                 'username'=>input('username'),
11                 //如果接收到密码,并且它不为空,说明我们要修改密码
12             ];
13 
14             if(input('password')){
15                 $arr['password']=md5(input('password'));
16             }else{
17                 //如果为空则表示原来的密码不变
18                 $arr['password']=$data['password'];
19             }
20             //验证
21             $validate = Loader::validate('Admin');
22             if(!$validate->scene('edit')->check($arr)){
23                 $this->error($validate->getError()); die;
24             }
25             // 更新数据表中的数据
26             $edited=db('admin')->update($arr);
27             if($edited){
28                 return $this->success('修改管理员信息成功!!','lst');
29             }else{
30                 return $this->error('修改管理员信息失败!!');
31             }
32             return;
33         }
34         $this->assign('data',$data);
35         return $this->fetch();
36     }

视图中

1                         
2                         <input type="hidden" name="id" value="{$data.id}" >
3                         

验证器中

 1 php
 2 namespace app\admin\validate;
 3 
 4 use think\Validate;
 5 class Admin extends Validate
 6 {
 7     protected $rule = [
 8         'username' => 'require|max:25',
 9         'password' => 'require|min:32',
10     ];
11 
12     protected $message = [
13         'username.require' => '名称必须',
14         'username.max' => '名称最多不能超过25个字符',
15         'password.require' => '密码必须',
16         'password.min' => '密码最少32个字符',
17     ];
18 
19 
20     protected $scene = [
21         'add' => ['username'=>'require','password'],
22         'edit' => ['username'=>'require'],
23     ];
24 }

 

三、友情链接功能

thinkphp5项目--个人博客(二)

thinkphp5项目--个人博客(二)

thinkphp5项目--个人博客(二)

 

和对管理员的操作一样,增删改查

也是一个list表,一个add表,一个edit表

包括控制器,模型,验证,视图四个方面,其实直接把管理员的这些操作弄过来改一改就好了

视图:链接列表

  1 <body>
  2     
  3     {include file="common/top"}
  4     
  5     
  6     <div class="main-container container-fluid">
  7         <div class="page-container">
  8 
  9             
 10             {include file="common/left"}
 11             
 12 
 13             
 14             <div class="page-content">
 15                 
 16                 <div class="page-breadcrumbs">
 17                     <ul class="breadcrumb">
 18                                         <li>
 19                         <a href="{:url('index/index')}">系统a>
 20                     li>
 21                                         <li class="active">链接管理li>
 22                                         ul>
 23                 div>
 24                 
 25 
 26                 
 27                 <div class="page-body">
 28                     
 29 <button type="button" tooltip="添加链接" class="btn btn-sm btn-azure btn-addon" onClick="Javascript:window.location.href = '{:url('links/add')}'"> <i class="fa fa-plus">i> Add
 30 button>
 31 <div class="row">
 32     <div class="col-lg-12 col-sm-12 col-xs-12">
 33         <div class="widget">
 34             <div class="widget-body">
 35                 <div class="flip-scroll">
 36                     <table class="table table-bordered table-hover">
 37                         <thead class="">
 38                             <tr>
 39                                 <th class="text-center" width="10%">IDth>
 40                                 <th class="text-center">链接名称th>
 41                                 <th class="text-center">链接地址th>
 42                                 <th class="text-center">链接描述th>
 43                                 <th class="text-center" width="20%">操作th>
 44                             tr>
 45                         thead>
 46                         <tbody>
 47                             {volist name="list" }
 48                             <tr>
 49                                 <td align="center">{$value.id}td>
 50                                 <td align="center">{$value.title}td>
 51                                 <td align="center"><a href="{$value.url}" target="_blank">{$value.url}a>td>
 52                                 <td align="center">
 53                                     {if cOndition="$value['desc'] neq ''"}
 54                                         {$value.desc}
 55                                     {else /}
 56                                     暂无描述    
 57                                     {/if}
 58                                 td>
 59                                 <td align="center">
 60                                     <a href="{:url('links/edit',array('id'=>$value['id']))}" class="btn btn-primary btn-sm shiny">
 61                                         <i class="fa fa-edit">i> 编辑
 62                                     a>
 63                                     ·
 64  
 65                                     <a href="#" onClick="warning('确实要删除吗', '{:url('links/del',array('id'=>$value['id']))}')" class="btn btn-danger btn-sm shiny">
 66                                         <i class="fa fa-trash-o">i> 删除
 67                                     a>
 68    
 69 
 70                                 td>
 71                             tr>
 72                             {/volist}
 73                            
 74                                                     tbody>
 75                     table>
 76                     <div class="text-right" style="margin-top: 10px">
 77                         {$list->render()}
 78                     div>
 79                     
 80                 div>
 81                 <div>
 82                                     div>
 83             div>
 84         div>
 85     div>
 86 div>
 87 
 88                 div>
 89                 
 90             div>
 91             
 92         div>    
 93     div>
 94 
 95         
 96     <script src="__PUBLIC__/style/jquery_002.js">script>
 97     <script src="__PUBLIC__/style/bootstrap.js">script>
 98     <script src="__PUBLIC__/style/jquery.js">script>
 99     
100     <script src="__PUBLIC__/style/beyond.js">script>
101     
102 
103 
104 body>

控制器

  1 php
  2 namespace app\admin\controller;
  3 
  4 use think\Controller;
  5 use think\Db;
  6 use think\Validate;
  7 use think\Loader;
  8 use app\admin\model\Links as LinksModel;
  9 class Links extends controller
 10 {
 11     public function lst()
 12     {
 13         // 分页输出列表 每页显示3条数据
 14         $list = LinksModel::paginate(3);
 15         $this->assign('list',$list);
 16         return view('list');
 17     }
 18     
 19     public function add()
 20     {
 21         //判断是否为post方法提交
 22         if(request()->isPost()){
 23             // dump(input('post.'));
 24             // 如果提交消息成功,我们就添加消息到数据库
 25             
 26    //          // 服务器端对数据进行验证
 27    //          $validate = new Validate([
 28             //     'username' => 'require|max:25',
 29             //     'password' => 'require|min:32'
 30             // ]);
 31             // 1、接收传递过来的数据
 32 
 33             $data=[
 34                 'title'=>input('title'),
 35                 'url'=>input('url'),
 36                 'desc'=>input('desc'),
 37             ];
 38 
 39             $validate = Loader::validate('Links');
 40             if(!$validate->scene('add')->check($data)){
 41                 $this->error($validate->getError()); die;
 42             }
 43 
 44    //          if (!$validate->check($data)) {
 45             //     dump($validate->getError());
 46             //     die;
 47             // }
 48 
 49             // if添加成功,就指向success页面
 50             if(Db::name('links')->insert($data)){
 51                 return $this->success('添加链接成功!!','lst');
 52             }else{
 53                 return $this->error('添加链接失败!!');
 54             }
 55             return;
 56         }
 57         return view();
 58     }
 59 
 60     public function edit(){
 61 
 62         $id=input('id');
 63         $data=db('links')->find($id);
 64 
 65         //如果是提交过来的数据
 66         if(request()->isPost()){
 67             $arr=[
 68                 'id'=>input('id'),
 69                 'title'=>input('title'),
 70                 'url'=>input('url'),
 71                 'desc'=>input('desc'),   
 72             ];
 73 
 74             //验证
 75             $validate = Loader::validate('Links');
 76             if(!$validate->scene('edit')->check($arr)){
 77                 $this->error($validate->getError()); die;
 78             }
 79             // 更新数据表中的数据
 80             $edited=db('links')->update($arr);
 81             if($edited){
 82                 return $this->success('修改链接信息成功!!','lst');
 83             }else{
 84                 return $this->error('修改链接信息失败!!');
 85             }
 86             return;
 87         }
 88         $this->assign('data',$data);
 89         return $this->fetch();
 90     }
 91 
 92     public function del(){
 93         $id=input('id');
 94         
 95         // 根据主键删除
 96         
 97         //删除操作
 98         $deleted=db('links')->delete(input('id'));
 99         if($deleted){
100             return $this->success('删除链接成功!!','lst');
101         }else{
102             return $this->error('删除链接失败!!');
103         }
104 
105         
106         
107     }
108 
109 }
View Code
推荐阅读
  • <!DOCTYPEhtml><htmllang=en><head><metacharset=UT ... [详细]
  • 使用PyQt5 for Python gui开发笔记:实现可滚动标签
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了使用PyQt5forPythongui的可滚动标签相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • fileuploadJS@sectionscripts{<scriptsrc~Contentjsfileuploadvendorjquery.ui.widget.js ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了css回到顶部按钮相关的知识,希望对你有一定的参考价值。 ... [详细]
  • html结构 ... [详细]
  • jsdocument.documentElement document.body
    其实之前一直对于document.documentElement和document.body不是很清楚,查了下资料-在html和xhtml中定义的差别..要获取当前页面的滚动条纵 ... [详细]
  • <!DOCTYPEhtml><html><head><metacharsetUTF-8><meta ... [详细]
  • 【ExtJS】自定义组件datetimefield(一)
    目的:ExtJS中提供了下拉日期选择控件Ext.form.field.Date与下拉时间选择控件Ext.form.field.Time。不过没有一个在选择日期时选择时间的控件dat ... [详细]
  • 基于jquery实现简单的分页控件_jquery
    前台分页控件有很多,这里分享我的分页控件pagination.js1.0版本,该控件基于jquery。先来看一下预览效果: ... [详细]
author-avatar
1021365712_3a478e
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有