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

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

具体代码如下

<?phpnamespace HomeController;use ThinkController;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程序设计有所帮助。