侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

thinkphp框架下实现登录、注册、找回密码功能

ThinkPHP  /  管理员 发布于 9年前   188

本文实例为大家分享了thinkphp框架下使用ajax表单提交的登录、注册、找密码的实现方法,以及注册后的用户需后台审核。

user表的字段为id、num、password、name、email、addtime、status

具体代码如下

display();    }     if(IS_POST){      /* 调用登录接口登录 */      $User = M('user') ;        //I方法接收页面传递来的值      $num = I('num') ;       $password = I('password') ;      //查找user表中num等于$num的值      $datanum = $User->where(array('num'=>$num))->find();      //判断$datanum的值      if ($datanum){        if (md5($password) === $datanum['password']) {           if ($datanum['status'] == 0) {            $this->error('用户处于未审核状态,请联系管理员');          }elseif($datanum['status'] == 2){            $this->error('用户处于禁用状态,请联系管理员');          }else{            $this->autoLogin($datanum) ; //调用私有方法自动登录.             $uid = $datanum['id'];            if($_SESSION['user_auth']['uid'] && $_SESSION['user_auth']['role'] == 'user'){              $this->success('登录成功!', U('Index/index'));            }else{              $this->error('存储错误.');            }          }        }else{          $this->error('密码填写不正确,请重新填写');           exit();        }      }else{        $this->error('用户不存在,请注册',U('signup'));      }    }  }   public function autoLogin($user){      /* 记录登录SESSION */    $auth = array(      'uid'       => $user['id'],      'num'    => $user['num'],       'role'      => 'user' , //记录用户类型     );    session('user_auth', $auth);    session('user_auth_sign', data_auth_sign($auth));   }   /*  * 用户注册   */  public function signup(){    if(is_user_login()){      $this->redirect('Index/index');    }    if(IS_GET){      //注册页面      $this->display();    }    if(IS_POST){      //判断用户       $data['num'] = I('num') ;       $User = M('user') ;      $datanum = $User->where($data)->find();      if ($datanum){        $this->success('您已经注册过,请直接登录',U('signin'));      }else{        $data['password'] = md5(I('password'));         $data['name']  = I('name');        $data['email']  = I('email');        $data['addtime'] = time();        $uid = $User->add($data);        if($uid)           $this->success('注册成功',U('signin')) ;         else            $this->error('注册失败') ;       }    }  }   public function logout(){    if(is_user_login()){      $User = M('user') ;      session('user_auth', null);      session('user_auth_sign', null);      session('[destroy]');      $this->success('登出成功!', U('signin'));    } else {      $this->redirect('signin');    }  }   //忘记密码  public function wjpas(){     if(IS_GET){       $this->display();    }     if(IS_POST){      $User = M('user') ;      $num = I('num') ;      $data['password'] = md5(I('password')) ;       $email = I('email') ;      $datanum = $User->where(array('num'=>$num))->find();      if ($datanum){        if ($email === $datanum['email']) {          $User->where(array('num'=>$num))->save($data); // 根据条件更新记录          $this->success('密码修改成功',U('signin')) ;         }else{          $this->error('邮箱填写不正确,请重新填写');           exit();        }      }else{        $this->error('用户不存在,请注册',U('signup'));      }    }  }}?>

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

您可能感兴趣的文章:

  • ThinkPHP登录功能的实现方法
  • ThinkPHP之用户注册登录留言完整实例
  • ThinkPHP3.2.2实现持久登录(记住我)功能的方法
  • thinkPHP5项目中实现QQ第三方登录功能
  • thinkPHP实现的验证码登录功能示例
  • ThinkPHP实现登录退出功能
  • Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
  • thinkphp 手机号和用户名同时登录
  • PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
  • thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
  • php 实现简单的登录功能示例【基于thinkPHP框架】


  • 上一条:
    初识ThinkPHP控制器
    下一条:
    ThinkPHP的常用配置选项汇总
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • thinkphp + mongodb项目中数据加载慢问题分析及解决(0个评论)
    • thinkphp6框架中封装redis操作类(0个评论)
    • thinkphp6框架中实现定时任务功能流程步骤(0个评论)
    • Thinkphp5.1框架中实现Session+Redis会话共享流程步骤(0个评论)
    • TP5框架版本5.0.10安全漏洞根据官方补丁修复,也是本站安全漏洞修复(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-12
    • 2018-01
    • 2018-02
    • 2020-03
    • 2021-07
    • 2021-12
    • 2022-05
    • 2022-06
    • 2022-09
    • 2023-01
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客