首页 > 编程 > PHP > 正文

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

2020-03-22 16:46:45
字体:
来源:转载
供稿:网友
本文实例为大家分享了thinkphp框架下使用ajax表单提交的登录、注册、找密码的实现方法,以及注册后的用户需后台审核。user表的字段为id、num、password、name、email、addtime、status
具体代码如下namespace Home/Controller;use Think/Controller;html' target='_blank'>class LoginController extends Controller { //处理登录 public function signin(){ if(IS_GET){ $this- 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程序设计有所帮助。PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表