《PHP教程:thinkphp框架下實(shí)現(xiàn)登錄、注冊(cè)、找回密碼功能》要點(diǎn):
本文介紹了PHP教程:thinkphp框架下實(shí)現(xiàn)登錄、注冊(cè)、找回密碼功能,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
相關(guān)主題:thinkphp教程
本文實(shí)例為大家分享了thinkphp框架下使用ajax表單提交的登錄、注冊(cè)、找暗碼的實(shí)現(xiàn)方法,以及注冊(cè)后的用戶(hù)需后臺(tái)審核.PHP教程
user表的字段為id、num、password、name、email、addtime、status
PHP教程
具體代碼如下PHP教程
<?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller { //處理登錄 public function signin(){ if(IS_GET){ $this->display(); } if(IS_POST){ /* 調(diào)用登錄接口登錄 */ $User = M('user') ; //I方法接收頁(yè)面?zhèn)鬟f來(lá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('用戶(hù)處于未審核狀態(tài),請(qǐng)聯(lián)系管理員'); }elseif($datanum['status'] == 2){ $this->error('用戶(hù)處于禁用狀態(tài),請(qǐng)聯(lián)系管理員'); }else{ $this->autoLogin($datanum) ; //調(diào)用私有方法自動(dòng)登錄. $uid = $datanum['id']; if($_SESSION['user_auth']['uid'] && $_SESSION['user_auth']['role'] == 'user'){ $this->success('登錄成功!', U('Index/index')); }else{ $this->error('存儲(chǔ)錯(cuò)誤.'); } } }else{ $this->error('暗碼填寫(xiě)不正確,請(qǐng)重新填寫(xiě)'); exit(); } }else{ $this->error('用戶(hù)不存在,請(qǐng)注冊(cè)',U('signup')); } } } public function autoLogin($user){ /* 記錄登錄SESSION */ $auth = array( 'uid' => $user['id'], 'num' => $user['num'], 'role' => 'user' , //記錄用戶(hù)類(lèi)型 ); session('user_auth', $auth); session('user_auth_sign', data_auth_sign($auth)); } /* * 用戶(hù)注冊(cè) */ public function signup(){ if(is_user_login()){ $this->redirect('Index/index'); } if(IS_GET){ //注冊(cè)頁(yè)面 $this->display(); } if(IS_POST){ //判斷用戶(hù) $data['num'] = I('num') ; $User = M('user') ; $datanum = $User->where($data)->find(); if ($datanum){ $this->success('您已經(jīng)注冊(cè)過(guò),請(qǐng)直接登錄',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('注冊(cè)成功',U('signin')) ; else $this->error('注冊(cè)失敗') ; } } } 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); // 根據(jù)條件更新記錄 $this->success('暗碼修改成功',U('signin')) ; }else{ $this->error('郵箱填寫(xiě)不正確,請(qǐng)重新填寫(xiě)'); exit(); } }else{ $this->error('用戶(hù)不存在,請(qǐng)注冊(cè)',U('signup')); } } } } ?>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助.PHP教程
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP教程:thinkphp框架下實(shí)現(xiàn)登錄、注冊(cè)、找回密碼功能》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/6963.html