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

一、实验目的

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

二、实验内容

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

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

(>>>>在公众号中输入文章最后彩蛋即可获取源代码)

开源项目:https://github.com/chenxhjeo,个人博客:http://blog.csdn.net/u013487761

技术QQ群名称:豆豆咨询,群号:625686304

微信公众号名称:豆豆咨询,微信公众号:douAsk

初建日期:2017.04.26

三、实验步骤及过程

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

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

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

微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载_第1张图片
微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载_第2张图片
微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载_第3张图片
微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载_第4张图片

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'],

];

}

四、技术服务

1、如果有疑问或者需要帮助,请加入QQ群(群名称:豆豆咨询,群号:625686304);或者公众号douAsk,公众号名称为“豆豆咨询”。扫描以下二维码,关注“豆豆咨询”

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

技术QQ群名称:豆豆咨询,群号:625686304;微信公众号名称:豆豆咨询,微信公众号:douAsk

彩蛋号:1209。

你可能感兴趣的:(微信实验十二、ThinkPHP5.0单页浏览、增加、修改、删除用户及源码下载)