使用tp修改后台管理员登录用户密码

本文介绍了如何在TP框架下修改后台管理员的登录密码。首先,在模板中输入管理员当前密码并二次确认,然后通过POST方法提交到后端。后端接收到请求后,会进行密码验证。如果验证成功,则更新数据库中的密码并重定向到首页;若验证失败,则显示错误信息,并让用户重新返回修改密码界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在模板中输入当前登录账号的密码,2次确认后post方法提交到后端

<tr>
   <th><i class="require-red">*</i>旧密码:</th>
   <td><input class="common-text" name="oldPwd" type="password"></td>
</tr>     
<tr>
   <th><i class="require-red">*</i>新密码:</th>
   <td><input class="common-text required" id="title" name="newPwd"  type="password">
   </td>
</tr>
<tr>
   <th><i class="require-red">*</i>密码确认:</th>
   <td><input class="common-text required" id="title" name="reNewPwd" type="password">
   </td>
</tr>

2.后端接收进行密码验证:验证通过则入库更改密码跳转到首页,如果失败则提示失败信息并再次回到修改界面

//获取当前登录用户的信息
$adminInfo=cookie('adminInfo');
$uid=$adminInfo['user_id'];

if(IS_POST){
//获取当前post修改过来的信息
    $data=I('post.');
//旧密码md5加密后与cookie中存储的用户密码信息比对      
    $oldPwd=I('post.oldPwd','','md5');
    $newPwd=I('post.newPwd','','md5'); 
    $reNewPwd=I('post.reNewPwd','','md5');

//首先判断用户输入的旧密码是否与当前用户的密码是否一致                             
    if($oldPwd!==$adminInfo['pwd']){                  $this->error('旧密码输入错误,请重新输入!','',1);
    }
//判断新旧密码是否相同
if($newPwd==$oldPwd){
    $this->error('新旧密码一致,您未做任何修改!','',1);
//两次修改的密码是否一致
}elseif($newPwd!==$reNewPwd){
    $this->error('密码确认不一致,请重新输入!','',1);
}else{
    //修改数据库pwd字段的值
    $result=M('admin')->where("user_id='$uid'")->setField('pwd',$newPwd);
    if($result){
//如果密码修改成功,首先删除之前用户的cookie登录信息
    cookie('adminInfo',null);           
    cookie('isLogin',null);         
    $this->success('密码修改成功!',U('Index/index'));
    }else{                  
    $this->error("密码修改失败!",'',1);
    }   
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值