Rumah pembangunan bahagian belakang tutorial php thinkphp框架下实现登录、注册、找回密码的功能代码

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

Jun 08, 2018 pm 04:55 PM
thinkphp mendaftar Log masuk

这篇文章主要介绍了thinkphp框架下实现登录、注册、找回密码功能的相关资料,感兴趣的小伙伴们可以参考一下

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

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){
      /* 调用登录接口登录 */
      $User = M(&#39;user&#39;) ;  
      //I方法接收页面传递来的值
      $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;用户处于未审核状态,请联系管理员&#39;);
          }elseif($datanum[&#39;status&#39;] == 2){
            $this->error(&#39;用户处于禁用状态,请联系管理员&#39;);
          }else{
            $this->autoLogin($datanum) ; //调用私有方法自动登录. 
            $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;您已经注册过,请直接登录&#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); // 根据条件更新记录
          $this->success(&#39;密码修改成功&#39;,U(&#39;signin&#39;)) ; 
        }else{
          $this->error(&#39;邮箱填写不正确,请重新填写&#39;); 
          exit();
        }
      }else{
        $this->error(&#39;用户不存在,请注册&#39;,U(&#39;signup&#39;));
      }
    }
  }
}
?>
Salin selepas log masuk

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于ThinkPhp框架表单验证和ajax验证问题的分析

关于thinkphp框架实现数据添加和显示的功能方法

用ThinkPHP框架实现用户信息查询以及更新删除的功能

Atas ialah kandungan terperinci thinkphp框架下实现登录、注册、找回密码的功能代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendaftar berbilang akaun di Xiaohongshu? Adakah saya akan ditemui jika saya mendaftar berbilang akaun? Bagaimana untuk mendaftar berbilang akaun di Xiaohongshu? Adakah saya akan ditemui jika saya mendaftar berbilang akaun? Mar 25, 2024 am 09:41 AM

Sebagai platform yang menyepadukan rangkaian sosial dan e-dagang, Xiaohongshu telah menarik lebih ramai pengguna untuk menyertainya. Sesetengah pengguna berharap untuk mendaftar berbilang akaun untuk pengalaman yang lebih baik berinteraksi dengan Xiaohongshu. Jadi, bagaimana untuk mendaftar berbilang akaun di Xiaohongshu? 1. Bagaimana untuk mendaftar berbilang akaun di Xiaohongshu? 1. Gunakan nombor telefon mudah alih yang berbeza untuk mendaftar Pada masa ini, Xiaohongshu terutamanya menggunakan nombor telefon bimbit untuk mendaftar akaun. Pengguna kadangkala cuba membeli berbilang kad nombor telefon mudah alih dan menggunakannya untuk mendaftar berbilang akaun Xiaohongshu. Walau bagaimanapun, pendekatan ini mempunyai beberapa had, kerana membeli berbilang kad nombor telefon mudah alih adalah menyusahkan dan mahal. 2. Gunakan e-mel untuk mendaftar Selain nombor telefon bimbit anda, e-mel anda juga boleh digunakan untuk mendaftar akaun Xiaohongshu. Pengguna boleh menyediakan berbilang alamat e-mel dan kemudian menggunakan alamat e-mel ini untuk mendaftar akaun. tetapi

Apakah yang perlu saya lakukan jika saya memuat turun kertas dinding orang lain selepas log masuk ke akaun lain pada mesin kertas dinding? Apakah yang perlu saya lakukan jika saya memuat turun kertas dinding orang lain selepas log masuk ke akaun lain pada mesin kertas dinding? Mar 19, 2024 pm 02:00 PM

Apabila anda log masuk ke akaun stim orang lain pada komputer anda, dan akaun orang lain itu kebetulan mempunyai perisian kertas dinding, stim akan memuat turun kertas dinding yang dilanggan ke akaun orang lain secara automatik selepas bertukar kembali ke akaun anda sendiri Pengguna boleh menyelesaikan masalah ini dengan mematikan penyegerakan awan wap. Apa yang perlu dilakukan jika enjin kertas dinding memuat turun kertas dinding orang lain selepas log masuk ke akaun lain 1. Log masuk ke akaun stim anda sendiri, cari penyegerakan awan dalam tetapan, dan matikan penyegerakan awan stim. 2. Log masuk ke akaun Steam orang lain yang anda log masuk sebelum ini, buka Bengkel Kreatif Kertas Dinding, cari kandungan langganan, dan kemudian batalkan semua langganan. (Sekiranya anda tidak dapat mencari kertas dinding pada masa hadapan, anda boleh mengumpulnya dahulu dan kemudian membatalkan langganan) 3. Tukar semula ke wap anda sendiri

Bagaimanakah saya boleh log masuk ke akaun saya sebelum ini di Xiaohongshu? Apakah yang perlu saya lakukan jika nombor asal hilang selepas ia ditukar? Bagaimanakah saya boleh log masuk ke akaun saya sebelum ini di Xiaohongshu? Apakah yang perlu saya lakukan jika nombor asal hilang selepas ia ditukar? Mar 21, 2024 pm 09:41 PM

Dengan perkembangan pesat media sosial, Xiaohongshu telah menjadi platform popular untuk ramai anak muda untuk berkongsi kehidupan mereka dan meneroka produk baharu. Semasa penggunaan, kadangkala pengguna mungkin menghadapi kesukaran untuk log masuk ke akaun sebelumnya. Artikel ini akan membincangkan secara terperinci cara menyelesaikan masalah log masuk ke akaun lama di Xiaohongshu, dan cara menangani kemungkinan kehilangan akaun asal selepas menukar pengikatan. 1. Bagaimana untuk log masuk ke akaun sebelumnya Xiaohongshu? 1. Dapatkan kata laluan dan log masuk. Jika anda tidak log masuk ke Xiaohongshu untuk masa yang lama, akaun anda mungkin dikitar semula oleh sistem. Untuk memulihkan hak akses, anda boleh cuba log masuk ke akaun anda sekali lagi dengan mendapatkan semula kata laluan anda. Langkah-langkah operasi adalah seperti berikut: (1) Buka Aplikasi Xiaohongshu atau laman web rasmi dan klik butang "Log Masuk". (2) Pilih "Retrieve Password". (3) Masukkan nombor telefon bimbit yang anda gunakan semasa mendaftar akaun anda

Bagaimana untuk mendaftar akaun Xiaohongshu? Apakah yang diperlukan untuk mendaftar akaun Xiaohongshu? Bagaimana untuk mendaftar akaun Xiaohongshu? Apakah yang diperlukan untuk mendaftar akaun Xiaohongshu? Mar 22, 2024 am 10:16 AM

Xiaohongshu, platform sosial yang menyepadukan kehidupan, hiburan, membeli-belah dan perkongsian, telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian ramai orang muda. Jadi, bagaimana untuk mendaftar akaun Xiaohongshu? 1. Bagaimana untuk mendaftar akaun Xiaohongshu? 1. Buka laman web rasmi Xiaohongshu atau muat turun APP Xiaohongshu. Klik butang "Daftar" di bawah dan anda boleh memilih kaedah pendaftaran yang berbeza. Pada masa ini, Xiaohongshu menyokong pendaftaran dengan nombor telefon mudah alih, alamat e-mel dan akaun pihak ketiga (seperti WeChat, QQ, Weibo, dll.). 3. Isikan maklumat yang berkaitan. Mengikut kaedah pendaftaran yang dipilih, isikan nombor telefon bimbit, alamat e-mel atau maklumat akaun pihak ketiga yang sepadan. 4. Tetapkan kata laluan. Tetapkan kata laluan yang kukuh untuk memastikan akaun anda selamat. 5. Lengkapkan pengesahan. Ikut gesaan untuk melengkapkan pengesahan telefon mudah alih atau pengesahan e-mel. 6. Menyempurnakan individu

Bagaimana untuk mendaftar akaun Xiaohongshu? Bagaimana untuk memulihkan jika akaunnya tidak normal? Bagaimana untuk mendaftar akaun Xiaohongshu? Bagaimana untuk memulihkan jika akaunnya tidak normal? Mar 21, 2024 pm 04:57 PM

Sebagai salah satu platform perkongsian gaya hidup paling popular di dunia, Xiaohongshu telah menarik sejumlah besar pengguna. Jadi, bagaimana untuk mendaftar akaun Xiaohongshu? Artikel ini akan memperkenalkan anda kepada proses pendaftaran akaun Xiaohongshu secara terperinci, dan menjawab soalan tentang cara memulihkan akaun Xiaohongshu yang tidak normal. 1. Bagaimana untuk mendaftar akaun Xiaohongshu? 1. Muat turun APP Xiaohongshu: Cari dan muat turun APP Xiaohongshu dalam gedung aplikasi mudah alih, dan bukanya selepas pemasangan selesai. 2. Daftar akaun: Selepas membuka APP Xiaohongshu, klik butang "Saya" di penjuru kanan sebelah bawah halaman utama, dan kemudian pilih "Daftar". 3. Isikan maklumat pendaftaran: Isikan nombor telefon bimbit, tetapkan kata laluan, kod pengesahan dan maklumat pendaftaran lain mengikut arahan. 4. Lengkapkan maklumat peribadi: Selepas pendaftaran berjaya, ikut gesaan untuk melengkapkan maklumat peribadi, seperti nama, jantina, hari lahir, dsb. 5. Tetapan

Bagaimana untuk mendaftar akaun qooapp Bagaimana untuk mendaftar akaun qooapp Mar 19, 2024 pm 08:58 PM

qooapp adalah perisian yang boleh memuat turun banyak permainan, jadi bagaimana untuk mendaftar akaun Pengguna perlu mengklik butang "Daftar" jika mereka belum mempunyai pas, dan kemudian memilih kaedah pendaftaran. Pengenalan kaedah pendaftaran akaun ini sudah cukup untuk memberitahu anda cara mengendalikannya. Berikut adalah pengenalan terperinci, jadi sila lihat. Bagaimana untuk mendaftar akaun qooapp? 2. Kemudian pilih kaedah log masuk yang anda perlukan. 3. Anda boleh menggunakannya terus selepas itu. Pendaftaran laman web rasmi: 1. Buka laman web https://apps.ppaooq.com/ dan klik pada sudut kanan atas untuk mendaftar. 2. Pilih pendaftaran

Bagaimana untuk menjalankan projek thinkphp Bagaimana untuk menjalankan projek thinkphp Apr 09, 2024 pm 05:33 PM

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Bagaimana untuk mendaftar akaun matriks nombor video? Bagaimana untuk membuat akaun video anda sendiri? Bagaimana untuk mendaftar akaun matriks nombor video? Bagaimana untuk membuat akaun video anda sendiri? Mar 22, 2024 am 10:42 AM

Dengan pelancaran akaun video WeChat, semakin ramai orang telah melihat peluang trafik baharu Oleh itu, pendaftaran akaun matriks akaun video telah menjadi tumpuan ramai pencipta dan pedagang. Jadi, bagaimana untuk mendaftar akaun matriks nombor video? Bagaimana untuk membuat akaun video anda sendiri? Artikel ini akan menjawab dua soalan ini secara terperinci. 1. Bagaimana untuk mendaftar akaun matriks nombor video? 1. Akaun WeChat: Pertama, anda perlu mempunyai akaun WeChat. Jika tidak, sila daftarkan satu dahulu. 2. Buka akaun video: Dalam APP WeChat, cari halaman "Discover" dan klik "Akaun Video" untuk memasuki halaman akaun video. 3. Pusat Pencipta: Di bahagian bawah halaman akaun video, klik butang "Pusat Pencipta" untuk memasuki Pusat Pencipta. 4. Daftar akaun video: Pada halaman Pusat Pencipta, cari pilihan "Daftar Akaun Video".

See all articles