国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

thinkphp框架下實現登錄、注冊、找回密碼功能

2024-05-04 23:44:50
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了thinkphp框架下實現登錄、注冊、找回密碼功能的相關資料,感興趣的小伙伴們可以參考一下
 

本文實例為大家分享了thinkphp框架下使用ajax表單提交的登錄、注冊、找密碼的實現方法,以及注冊后的用戶需后臺審核。

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

具體代碼如下

<?phpnamespace 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'));      }    }  }}?>

以上就是本文的全部內容,希望對大家學習php程序設計有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 乌审旗| 开远市| 长武县| 长汀县| 方城县| 怀仁县| 长寿区| 定州市| 福鼎市| 南平市| 大渡口区| 长武县| 兴化市| 建始县| 山东省| 霞浦县| 京山县| 修水县| 房山区| 汉阴县| 扶余县| 水富县| 东港市| 古丈县| 额敏县| 丹江口市| 波密县| 柯坪县| 罗源县| 额敏县| 伽师县| 柘城县| 宣化县| 宜君县| 虹口区| 南陵县| 霍城县| 霍城县| 太谷县| 洪洞县| 辽阳市|