微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载

栏目: PHP · 发布时间: 6年前

内容简介:微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载

一、实验目的

1、掌握ThinkPHP5.0用户浏览、增加、修改和删除功能。

二、实验内容

1、建立ThinkPHP5.0用户浏览页面,且包括删除功能。

2、建立ThinkPHP5.0用户增加和修改页面。

三、实验步骤及过程

常用模块具有的功能包括:浏览、删除、修改、增加等功能,我们在ThinkPHP5.0时候,应灵活掌握这些基本功能,以下我们将介绍如何实现这些功能。

1 、创建浏览、增加、修改、删除界面

用户登录后,进入http://127.0.0.1/noneCms/public/index.PHP/weixin/index/index.HTML主界面,单击公众号用户,则进入了微信用户信息管理界面,包括用户信息浏览、删除、增加、修改几个功能,如图所示。

微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载

微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载

微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载

微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载

2 、关键代码解析

用户通过登录页面http://127.0.0.1/noneCms/public/index.PHP/weixin/login/index进入后台管理模块,http://127.0.0.1/noneCms/public/index.PHP/weixin/index/index为用户登录之后后台管理主页面。然后,用户单击“公众号用户”,则进入用户管理界面,即http://127.0.0.1/noneCms/public/index.PHP/weixin/users/index。在该界面可以操作用户信息,包括浏览、添加、删除、修改等操作。

Users为用户管理控制模块,其文件为Users.PHP,即通过http://127.0.0.1/noneCms/public/index.PHP/weixin/users/index调用weixin模块的users控制器中的index方法进入用户浏览页面,用户登录之后主页面为http://127.0.0.1/noneCms/public/index.PHP/weixin/index/index。

1)Users.PHP文件

Users.PHP是users控制器文件,其中index()方法显示用户管理页面,add()方法完成用户信息增加,edit()方法完成用户信息修改,dele()方法完成用户信息删除,代码如下:

/** *单页控制器 */ namespace app/weixin/controller; use app/weixin/model/Category; use think/Config; use think/Db; use think/Loader; class Users extends Common{     public function index(){         $list = Db::name('user')->field('username,logintime,id,loginip,email,islock,phone')->where('islock','neq',3)->select();         //$list = Db::name('user')->field('nickname,last_login_time,id,last_login_ip,email,status,phone')->where('status','eq',1)->select();         $this->assign('list', $list);         return $this->fetch();     }     /*     *添加用户     */     public function add(){         if (request()->isPost()) {             //修改处理             $params = input('post.');             $data = [                 'username' => $params['user_name'],                 'password' =>$params['password'],                 'email' => $params['email'],                 'phone' => $params['phone'],                 'islock' => $params['islock'],                 'repassword' => $params['repassword']             ];             //验证规则             $validate = Loader::validate('UsersAdd');             if (isset($params['id'])) {                 //更新操作                 if($params['old_password']){                     $info = Db::name('user')->field('password,encrypt')->find($params['id']);                     $password = get_password($params['old_password'],$info['encrypt']);                     if($info['password'] != $password){                         exit(json_encode(['status' => 0, 'msg' => '原密码不正确', 'url' => '']));                     }                 }                 if(!$validate->scene('edit')->check($data)){                     $error = $validate->getError();                     exit(json_encode(['status' => 0, 'msg' => $error, 'url' => '']));                 }                 $data['encrypt'] = get_randomstr();//6位hash值                 $data['password'] = get_password($data['password'],$data['encrypt']);                 unset($data['repassword']);                 $flag = Db::name('user')->where('id',$params['id'])->update($data);                     if ($flag) {                     exit(json_encode(['status' => 1, 'msg' => '修改成功', 'url' => url('users/index')]));                 } else {                     exit(json_encode(['status' => 0, 'msg' => '修改失败,请稍后重试', 'url' => '']));                 }             }else{                 //新增                 if(!$validate->check($data)){                     $error = $validate->getError();                     exit(json_encode(['status' => 0, 'msg' => $error, 'url' => '']));                 }                 unset($data['repassword']);                 $data['encrypt'] = get_randomstr();//6位hash值                 $data['password'] = get_password($data['password'],$data['encrypt']);                 $data['logintime'] = time();                 $data['createtime'] = time();                 $data['loginip'] = request()->ip();                 $data['username'] = $params['user_name'];                 $data['phone'] = $params['phone'];                 $flag=Db::name('user')->insert($data);                 if ($flag) {                     exit(json_encode(['status' => 1, 'msg' => '添加成功', 'url' => url('users/index')]));                 } else {                     exit(json_encode(['status' => 0, 'msg' => '添加失败,请稍后重试', 'url' => '']));                 }             }         } else {             return $this->fetch();         }     }     /**     *修改用户信息     */     public function edit($id){         $data = Db::name('user')->find($id);         $this->assign('data', $data);         return $this->fetch();     }     /**     *删除用户信息     */     public function dele(){         $id = input('param.id/d',0);         $flag = Db::name('user')->where(['id' => $id])->update(['islock' => 3]);         if ($flag) {             echo '删除成功';         } else {             echo '删除失败';         }     } }

2)validate/UsersAdd.PHP验证文件

该文件辅助users控制器的add()和edit()方法验证用户输入的数据,在Users.PHP文件中采用代码$validate = Loader::validate('UsersAdd');调用UsersAdd验证器验证。

UsersAdd.PHP文件如下所示。

class UsersAdd extends Validate {     protected $rule =[         'username'=> 'require|max:25|min:4',         'email' => 'email',         'password' => 'require|max:25|min:6',         'repassword'=>'require|confirm:password'     ];     protected $message=[         'username.require' => '用户名必须',         'username.max'=> '用户名最多不能超过25个字符',         'username.min'=> '用户名最少4个字符',         'password.require'=> '密码必须',         'password.min'=> '密码长度至少六位',         'email'=> '邮箱格式错误',         //'repassword.require' => '确认密码必须',         'repassword.confirm' => '两次密码必须一致'     ];     /**     *验证场景     */     protected $scene = [         'edit'=>['name','repassword'=>'confirm:password'],     ]; }

以上所述就是小编给大家介绍的《微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入理解C指针

深入理解C指针

[美] Richard Reese / 陈晓亮 / 人民邮电出版社 / 2014-2 / 45.00

深入理解C指针和内存管理,提升编程效率!这是一本实战型图书,通过它,读者可以掌握指针动态操控内存的机制、对数据结构的增强支持,以及访问硬件等技术。本书详细阐述了如何在数组、字符串、结构体和函数中使用指针,同时演示了相应的内存模型及其对指针使用的影响。 指针为C语言带来了强大的功能和灵活性,却也是C语言中最难啃的一块“骨头”。本书旨在帮读者透彻理解指针,解决这个老大难问题。不论是初学者还是经验......一起来看看 《深入理解C指针》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具