thinkphp框架下使用ajax表单提交的登录、注册、找密码的实现方法,以及注册后的用户需后台审核。
user表的字段为id、num、password、name、email、addtime、status
具体代码如下
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <?phpnamespaceHomeController;useThinkController;classLoginController extendsController {  //处理登录    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{            $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'));      }    }  }   publicfunctionautoLogin($user){      /* 记录登录SESSION */    $auth= array(      'uid'=> $user['id'],      'num'=> $user['num'],       'role'=> 'user', //记录用户类型     );    session('user_auth_sign', data_auth_sign($auth));   }   /*  * 用户注册   */  publicfunctionsignup(){    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('注册失败') ;       }    }  }     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');    }  }   //忘记密码  publicfunctionwjpas(){     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'));      }    }  }}?> | 
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    

















请登录后发表评论
注册
社交帐号登录