切换风格

后盾网PHP论坛-php培训论坛-php教程-PHP视频教程-北京PHP培训

  • 咨询热线: 400-682-3231
  • QQ咨询: 联系在线客服老师 联系在线客服老师 联系在线客服老师

QQ登录

只需一步,快速开始

返回列表 发新帖

[PHP&Mysql] 老师请帮我看看我的代码修改密码为什么不成功

[复制链接]
     
  • TA的每日心情
    开心
    2017-12-1 06:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    1

    主题

    8

    帖子

    120

    积分

    幼儿园

    Rank: 1

    积分
    120
    活动推广币
    0 个
    后盾币
    120 个
    注册时间
    2017-11-30
    在线时间
    0 小时
    帖子
    8
    发表于 2017-11-30 22:34:17 |显示全部楼层 | 阅读模式
    本帖最后由 yi小轩 于 2017-11-30 22:36 编辑

    我看到tp5框架开发博客视屏照着做的,可是我到修改密码这一步返回 0,但是新密码和原始密码都和数据库对比成功了,到修改密码这一步就不行了,返回 UC截图20171130223201.png ,请老师看看我的代码 哪里不对,谢谢
    1. <?php

    2. namespace app\common\model;

    3. use houdunwang\crypt\Crypt;
    4. use think\Loader;
    5. use think\Model;
    6. use think\Validate;

    7. class Admin extends Model
    8. {
    9.     protected $pk = 'admin_id';
    10.     protected $table = 'blog_admin';

    11.     /**
    12.      * 登录用户
    13.      * @param $data post数据
    14.      */
    15.     public function login($data)
    16.     {
    17.         //1 执行验证
    18.         $validate = Loader::validate('Admin');
    19.         //如果验证不通过
    20.         if(!$validate->check($data)){
    21.             return ['valid'=>0,'msg'=>$validate->getError()];
    22.             //dump($validate->getError());
    23.         }
    24.         //2 比对用户名是否正确
    25.         $userinfo = $this->where('admin_username',$data['admin_username'])->where('admin_password',Crypt::encrypt($data['admin_password']))->find();
    26.         //halt($userinfo);
    27.         if(!$userinfo)
    28.         {
    29.             return ['valid'=>0,'msg'=>'用户名或密码不正确'];
    30.         }

    31.         //3 将用户信息存入到session中
    32.         session('admin.admin_id',$userinfo['admin_id']);
    33.         session('admin.admin_username',$userinfo['admin_username']);
    34.         return ['valid'=>1,'msg'=>'登录成功'];
    35.     }

    36.     /**
    37.      * 修改密码
    38.      * @param $data post数据
    39.      */
    40.     public function pass($data)
    41.     {
    42.         //1 执行验证
    43.         $validate = new Validate([
    44.             'admin_password'            =>  'require',
    45.             'new_password'              =>  'require',
    46.             'confirm_password'          =>  'require|confirm:new_password'
    47.         ],[
    48.             'admin_password.require'    =>  '请输入密码',
    49.             'new_password.require'      =>  '请输入新密码',
    50.             'confirm_password.require'  =>  '请输入确认密码',
    51.             'confirm_password.confirm'  =>  '两次输入的密码不一致',

    52.         ]);
    53.         if(!$validate->check($data)){
    54.             return ['valid'=>0,'msg'=>$validate->getError()];
    55.         }
    56.         //2 原始密码是否正确
    57.         $userinfo = $this->where('admin_id',session('admin.admin_id'))->where('admin_password',Crypt::encrypt($data['admin_password']))->find();
    58.         if(!$userinfo)
    59.         {
    60.             return ['valid'=>0,'msg'=>"原始密码不正确"];
    61.         }
    62. //dump($userinfo );
    63.         //3 修改密码
    64.         $res = $this->save([
    65.             'admin_password'  => Crypt::encrypt($data['admin_password']),
    66.         ],[$this->pk => session('admin.admin_id')]);
    67.         halt($res);

    68.     }

    69. }
    复制代码



         
  • TA的每日心情
    开心
    2017-12-1 06:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    1

    主题

    8

    帖子

    120

    积分

    幼儿园

    Rank: 1

    积分
    120
    活动推广币
    0 个
    后盾币
    120 个
    注册时间
    2017-11-30
    在线时间
    0 小时
    帖子
    8
    发表于 2017-12-1 10:22:54 |显示全部楼层
    1.         //3 修改密码
    2.         $res = $this->save([
    3.             'admin_password'  => Crypt::encrypt($data['admin_password']),
    4.         ],[$this->pk => session('admin.admin_id')]);
    复制代码

    找到原因了,原来这还是更新的原始密码,新密码没有写进来,所以更新了0条
         
  • TA的每日心情
    开心
    昨天 08:19
  • 签到天数: 405 天

    [LV.9]以坛为家II

    0

    主题

    1409

    帖子

    2万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    20136
    活动推广币
    0 个
    后盾币
    20136 个
    注册时间
    2015-3-9
    在线时间
    586 小时
    帖子
    1409
    发表于 2017-12-5 13:39:15 |显示全部楼层
    yi小轩 发表于 2017-12-1 10:22
    找到原因了,原来这还是更新的原始密码,新密码没有写进来,所以更新了0条

    自己查找问题,赞,楼主加油
         
  • TA的每日心情
    开心
    昨天 09:45
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    0

    主题

    34

    帖子

    259

    积分

    学前班

    Rank: 2

    积分
    259
    活动推广币
    0 个
    后盾币
    259 个
    注册时间
    2017-12-10
    在线时间
    7 小时
    帖子
    34
    QQ
    发表于 3 天前 |显示全部楼层
    楼主这已经是高手了
         
  • TA的每日心情
    开心
    昨天 09:27
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    29

    帖子

    4

    积分

    幼儿园

    Rank: 1

    积分
    4
    活动推广币
    0 个
    后盾币
    4 个
    注册时间
    2016-6-26
    在线时间
    7 小时
    帖子
    29
    发表于 前天 16:37 |显示全部楼层
    ccccccccccccccccccccc

    发表回复

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表