加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 14:04:52 所属栏目:大数据 来源:网络整理
导读:本文实例为大家分享了thinkphp框架下使用ajax表单提交的登录、注册、找密码的实现方法,以及注册后的用户需后台审核。 user表的字段为id、num、password、name、email、addtime、status 具体代码如下 display(); } if(IS_POST){ /* 调用登录接口登录 */ $Use

本文实例为大家分享了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('邮箱填写不正确,U('signup'));
}
}
}
}
?>

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读