php 初始化model,tp5 controller-model-初始化操作 简单使用方法

namespace app\admin\model;

use think\Loader;

use think\Model;

use think\Validate;

class Login extends Model

{

protected $pk = 'id';//主键

//设置当前模型对应的完整数据表名称

protected $table = 'fly_user';

/**

* 登录

* $data 是接收的post数据

*/

public function login($data)

{

//1.执行验证

$validate = new Validate([

'name'=>'require',

'pwd'=>'require'

],[

'name.require'=>'请输入管理账号',

'pwd.require'=>'请输入密码'

]

);

//        //如果验证不通过

if (!$validate->check($data)) {

return ['valid' => 0, 'msg' => $validate->getError()];

}

//2.比对用户名和密码是否正确

$userInfo = $this->where('name', $data['name'])->where('pwd', md5($data['pwd']))->where('sort', 1)->find();

// dump($userInfo);die;

if (!$userInfo) {

//说明在数据库未匹配到相关数据

return ['valid' => 0, 'msg' => '用户名或者密码不正确 或没有权限'];

}

//3.将用户信息存入到session中

$admin  = array('id' => $userInfo['id'],'name'=>$userInfo['name'] );

session('admin', $admin);

return ['valid' => 1, 'msg' => '登录成功'];

}

/**

* 修改密码

* $data 是接收的post数据

*/

public function pwd($data){

//执行验证

$validate = new Validate([

'pwd'  => 'require',

'new_pwd' => 'require',

'confirm_pwd' => 'require|confirm:new_pwd'

],[

'pwd.require'  => '请输入原始密码',

'new_pwd.require' => '请输入新密码',

'confirm_pwd.require' => '请重复新密码',

'confirm_pwd.confirm' => '确认密码与新密码不一致'

]

);

if (!$validate->check($data)) {

return ['valid'=> 0,'msg'=>$validate->getError()];

}

//原始密码是否正确

$userInfo = $this->where('pwd',md5($data['pwd']))->where('id',session('admin.id'))->find();

if(!$userInfo){

return ['valid'=>0, 'msg'=>'原始密码不正确'];

}

//修改密码

// save方法第二个参数为更新条件

$res = $this->save([

'pwd'  =>md5($data['new_pwd']),

],[$this->pk => session('admin.id')]);

if($res){

return ['valid'=>1, 'msg'=>'密码修改成功'];

}else{

return ['valid'=>0, 'msg'=>'密码修改失败'];

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值