首页 > php教程 > php手册 > 正文

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

php中文网
发布: 2016-06-13 08:41:48
原创
1038人浏览过

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

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

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

具体代码如下

完整的JSP网站书店项目
完整的JSP网站书店项目

本项目实习了登录注册 找回密码 购买商品 购物车 订单 搜索商品。 会员个人的修改个人资料。查看自己的订单 等。 后台。 查看用户。 删出用户。 添加商品 添加大类。小类。 商品上架。 添加公告 等一些功能 项目完成了。 分享给大家。。 谢谢支持。。。

完整的JSP网站书店项目 0
查看详情 完整的JSP网站书店项目
<&#63;php
namespace Home\Controller;
use Think\Controller;
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'));
      }
    }
  }
}
&#63;>
登录后复制

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

您可能感兴趣的文章:

  • php中实现记住密码自动登录的代码
  • PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
  • 一个简单的网页密码登陆php代码
  • PHP 登录记住密码实现思路
  • ThinkPHP之用户注册登录留言完整实例
  • PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
  • ThinkPHP登录功能的实现方法
  • thinkphp实现发送邮件密码找回功能实例
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号