国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 PHP源碼 thinkphp框架下實現(xiàn)登錄、注冊、找回密碼功能

thinkphp框架下實現(xiàn)登錄、注冊、找回密碼功能

Nov 08, 2016 pm 01:38 PM
thinkphp 注冊 登錄

這篇文章主要介紹了thinkphp框架下實現(xiàn)登錄、注冊、找回密碼功能的相關(guān)資料,感興趣的小伙伴們可以參考一下

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

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

具體代碼如下

<?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(&#39;user&#39;) ;  
      //I方法接收頁面?zhèn)鬟f來的值
      $num = I(&#39;num&#39;) ; 
      $password = I(&#39;password&#39;) ;
      //查找user表中num等于$num的值
      $datanum = $User->where(array(&#39;num&#39;=>$num))->find();
      //判斷$datanum的值
      if ($datanum){
        if (md5($password) === $datanum[&#39;password&#39;]) { 
          if ($datanum[&#39;status&#39;] == 0) {
            $this->error(&#39;用戶處于未審核狀態(tài),請聯(lián)系管理員&#39;);
          }elseif($datanum[&#39;status&#39;] == 2){
            $this->error(&#39;用戶處于禁用狀態(tài),請聯(lián)系管理員&#39;);
          }else{
            $this->autoLogin($datanum) ; //調(diào)用私有方法自動登錄. 
            $uid = $datanum[&#39;id&#39;];
            if($_SESSION[&#39;user_auth&#39;][&#39;uid&#39;] && $_SESSION[&#39;user_auth&#39;][&#39;role&#39;] == &#39;user&#39;){
              $this->success(&#39;登錄成功!&#39;, U(&#39;Index/index&#39;));
            }else{
              $this->error(&#39;存儲錯誤.&#39;);
            }
          }
        }else{
          $this->error(&#39;密碼填寫不正確,請重新填寫&#39;); 
          exit();
        }
      }else{
        $this->error(&#39;用戶不存在,請注冊&#39;,U(&#39;signup&#39;));
      }
    }
  }
 
  public function autoLogin($user){  
    /* 記錄登錄SESSION */
    $auth = array(
      &#39;uid&#39;       => $user[&#39;id&#39;],
      &#39;num&#39;    => $user[&#39;num&#39;], 
      &#39;role&#39;      => &#39;user&#39; , //記錄用戶類型 
    );
    session(&#39;user_auth&#39;, $auth);
    session(&#39;user_auth_sign&#39;, data_auth_sign($auth)); 
  }
 
  /*
  * 用戶注冊 
  */
  public function signup(){
    if(is_user_login()){
      $this->redirect(&#39;Index/index&#39;);
    }
    if(IS_GET){
      //注冊頁面
      $this->display();
    }
    if(IS_POST){
      //判斷用戶 
      $data[&#39;num&#39;] = I(&#39;num&#39;) ; 
      $User = M(&#39;user&#39;) ;
      $datanum = $User->where($data)->find();
      if ($datanum){
        $this->success(&#39;您已經(jīng)注冊過,請直接登錄&#39;,U(&#39;signin&#39;));
      }else{
        $data[&#39;password&#39;] = md5(I(&#39;password&#39;)); 
        $data[&#39;name&#39;]  = I(&#39;name&#39;);
        $data[&#39;email&#39;]  = I(&#39;email&#39;);
        $data[&#39;addtime&#39;] = time();
        $uid = $User->add($data);
        if($uid) 
          $this->success(&#39;注冊成功&#39;,U(&#39;signin&#39;)) ; 
        else  
          $this->error(&#39;注冊失敗&#39;) ; 
      }
    }
  }
 
  public function logout(){
    if(is_user_login()){
      $User = M(&#39;user&#39;) ;
      session(&#39;user_auth&#39;, null);
      session(&#39;user_auth_sign&#39;, null);
      session(&#39;[destroy]&#39;);
      $this->success(&#39;登出成功!&#39;, U(&#39;signin&#39;));
    } else {
      $this->redirect(&#39;signin&#39;);
    }
  }
 
  //忘記密碼
  public function wjpas(){ 
    if(IS_GET){ 
      $this->display();
    } 
    if(IS_POST){
      $User = M(&#39;user&#39;) ;
      $num = I(&#39;num&#39;) ;
      $data[&#39;password&#39;] = md5(I(&#39;password&#39;)) ; 
      $email = I(&#39;email&#39;) ;
      $datanum = $User->where(array(&#39;num&#39;=>$num))->find();
      if ($datanum){
        if ($email === $datanum[&#39;email&#39;]) {
          $User->where(array(&#39;num&#39;=>$num))->save($data); // 根據(jù)條件更新記錄
          $this->success(&#39;密碼修改成功&#39;,U(&#39;signin&#39;)) ; 
        }else{
          $this->error(&#39;郵箱填寫不正確,請重新填寫&#39;); 
          exit();
        }
      }else{
        $this->error(&#39;用戶不存在,請注冊&#39;,U(&#39;signup&#39;));
      }
    }
  }
}
?>

以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)php程序設(shè)計有所幫助。

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

小紅書怎么注冊多個賬號?注冊多個賬號會被發(fā)現(xiàn)嗎? 小紅書怎么注冊多個賬號?注冊多個賬號會被發(fā)現(xiàn)嗎? Mar 25, 2024 am 09:41 AM

小紅書作為一款集社交和電商于一身的平臺,吸引了越來越多的用戶加入。有些用戶希望能夠注冊多個賬號以便更好地體驗和小紅書互動。那么,小紅書怎么注冊多個賬號呢?一、小紅書怎么注冊多個賬號?1.使用不同手機號碼注冊目前,小紅書主要采用手機號碼注冊賬號的方式。用戶有時會嘗試購買多個手機號碼卡,并利用它們注冊多個小紅書賬號。但這種做法有一些限制,因為購買多個手機號碼卡比較麻煩且成本較高。2.使用郵箱注冊除了手機號碼,郵箱也可以用來注冊小紅書賬號。用戶可以準(zhǔn)備多個郵箱地址,然后分別用這些郵箱地址注冊賬號。不過

小紅書怎么登錄以前的賬號?它換綁后原來號丟失了怎么辦? 小紅書怎么登錄以前的賬號?它換綁后原來號丟失了怎么辦? Mar 21, 2024 pm 09:41 PM

隨著社交媒體的迅速發(fā)展,小紅書已經(jīng)成為許多年輕人分享生活、探索新產(chǎn)品的熱門平臺。在使用過程中,有時用戶可能會遇到登錄以前賬號的困難。本文將詳細(xì)探討如何解決小紅書登錄舊賬號的問題,以及如何應(yīng)對更換綁定后可能遺失原賬號的情況。一、小紅書怎么登錄以前的賬號?1.找回密碼登錄如果長時間未登錄小紅書,可能導(dǎo)致賬號被系統(tǒng)回收。為了恢復(fù)訪問權(quán)限,你可以嘗試通過找回密碼的方式重新登錄賬號。操作步驟如下:(1)打開小紅書App或官網(wǎng),點擊“登錄”按鈕。(2)選擇“找回密碼”。(3)輸入你注冊賬號時所使用的手機號碼

wallpaperengine登錄別的號后下載別人的壁紙怎么辦 wallpaperengine登錄別的號后下載別人的壁紙怎么辦 Mar 19, 2024 pm 02:00 PM

當(dāng)你在自己電腦上登過別人steam賬號之后,恰巧這個別人的賬號也有wallpaper軟件,切換回自己賬號之后steam就會自動下載別人賬號訂閱的壁紙,用戶可以通過關(guān)閉steam云同步解決。wallpaperengine登錄別的號后下載別人的壁紙怎么辦1、登陸你自己的steam賬號,在設(shè)置里面找到云同步,關(guān)閉steam云同步。2、登陸你之前登陸的別人的steam賬號,打開wallpaper創(chuàng)意工坊,找到訂閱內(nèi)容,然后取消全部訂閱。(以后防止找不到壁紙,可以先收藏再取消訂閱)3、切換回自己的stea

怎么注冊小紅書賬號?注冊小紅書賬號需要什么? 怎么注冊小紅書賬號?注冊小紅書賬號需要什么? Mar 22, 2024 am 10:16 AM

小紅書,一個集生活、娛樂、購物、分享于一體的社交平臺,已經(jīng)成為眾多年輕人日常生活中不可或缺的一部分。那么,如何注冊小紅書賬號呢?一、怎么注冊小紅書賬號?1.打開小紅書官網(wǎng)或下載小紅書APP。點擊下方的“注冊”按鈕,您可以選擇不同的注冊方式。目前,小紅書支持手機號、郵箱以及第三方賬號(如微信、QQ、微博等)進行注冊。3.填寫相關(guān)信息。根據(jù)選擇的注冊方式,填寫相應(yīng)的手機號、郵箱或第三方賬號信息。4.設(shè)置密碼。設(shè)置一個強壯的密碼,確保賬號安全。5.完成驗證。根據(jù)提示完成手機驗證或郵箱驗證。6.完善個人

小紅書賬號怎么注冊?它的賬號異常怎么恢復(fù)? 小紅書賬號怎么注冊?它的賬號異常怎么恢復(fù)? Mar 21, 2024 pm 04:57 PM

小紅書作為全球最受歡迎的生活方式分享平臺之一,吸引了大量用戶關(guān)注。那么,如何注冊小紅書賬號呢?本文將為您詳細(xì)介紹小紅書賬號的注冊流程,并解答小紅書賬號異常如何恢復(fù)的問題。一、小紅書賬號怎么注冊?1.下載小紅書APP:在手機應(yīng)用商店搜索并下載小紅書APP,安裝完成后打開。2.注冊賬號:打開小紅書APP后,點擊首頁右下角的“我”按鈕,然后選擇“注冊”。3.填寫注冊信息:根據(jù)提示填寫手機號碼、設(shè)置密碼、驗證碼等注冊信息。4.完善個人資料:注冊成功后,根據(jù)提示完善個人資料,如姓名、性別、生日等。5.設(shè)置

thinkphp項目怎么運行 thinkphp項目怎么運行 Apr 09, 2024 pm 05:33 PM

運行 ThinkPHP 項目需要:安裝 Composer;使用 Composer 創(chuàng)建項目;進入項目目錄,執(zhí)行 php bin/console serve;訪問 http://localhost:8000 查看歡迎頁面。

thinkphp有幾個版本 thinkphp有幾個版本 Apr 09, 2024 pm 06:09 PM

ThinkPHP 擁有多個版本,針對不同 PHP 版本而設(shè)計。主要版本包括 3.2、5.0、5.1 和 6.0,而次要版本用于修復(fù) bug 和提供新功能。當(dāng)前最新穩(wěn)定版本為 ThinkPHP 6.0.16。在選擇版本時,需考慮 PHP 版本、功能需求和社區(qū)支持。建議使用最新穩(wěn)定版本以獲得最佳性能和支持。

小紅書只記得賬號怎么登錄?只記得賬號怎么找回? 小紅書只記得賬號怎么登錄?只記得賬號怎么找回? Mar 23, 2024 pm 05:31 PM

小紅書如今已經(jīng)融入了許多人的日常生活,其豐富的內(nèi)容和便捷的操作方式讓用戶樂此不疲。有時候,我們可能會忘記賬號密碼,只記得賬號而無法登錄確實讓人感到困擾。一、小紅書只記得賬號怎么登錄?當(dāng)忘記密碼時,我們可以通過手機驗證碼的方式登錄小紅書。具體操作如下:1.打開小紅書App或網(wǎng)頁版小紅書;2.點擊“登錄”按鈕,選擇“賬號密碼登錄”;3.點擊“忘記密碼?”按鈕;4.輸入你的賬號,點擊“下一步”;5.系統(tǒng)會發(fā)送驗證碼到你的手機,輸入驗證碼后點擊“確定”;6.設(shè)置新的密碼并確認(rèn)。你還可以通過第三方賬號(如

See all articles