백엔드 개발 PHP 튜토리얼 thinkphp 프레임워크에서 로그인, 등록, 비밀번호 검색을 위한 기능 코드

thinkphp 프레임워크에서 로그인, 등록, 비밀번호 검색을 위한 기능 코드

Jun 08, 2018 pm 04:55 PM
thinkphp 등록하다 로그인

이 글은 주로 thinkphp 프레임워크의 로그인, 등록, 비밀번호 검색 기능에 대한 관련 정보를 소개합니다. 관심 있는 친구가 참고할 수 있습니다.

이 글의 예는 Thinkphp 프레임워크에서 ajax 양식을 사용하여 제출한 로그인 및 비밀번호를 공유합니다. thinkphp 프레임워크 비밀번호 등록 및 찾는 방법, 등록한 사용자를 백그라운드에서 검토해야 합니다.

사용자 테이블의 필드는 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;));
      }
    }
  }
}
?>
로그인 후 복사

위 내용이 이 글의 전체 내용이길 바랍니다. 모든 분들의 학습에 도움이 될 것입니다. 더 많은 관련 내용을 보시려면 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

ThinkPhp 프레임워크의 양식 유효성 검사 및 Ajax 유효성 검사 문제 분석

thinkphp 프레임워크에서 데이터를 추가하고 표시하는 기능적 방법에 대하여

ThinkPHP 프레임워크를 사용하여 사용자 구현 정보 조회, 업데이트 및 삭제 기능

위 내용은 thinkphp 프레임워크에서 로그인, 등록, 비밀번호 검색을 위한 기능 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xiaohongshu에 여러 계정을 등록하는 방법은 무엇입니까? 여러 계정을 등록하면 발각되나요? Xiaohongshu에 여러 계정을 등록하는 방법은 무엇입니까? 여러 계정을 등록하면 발각되나요? Mar 25, 2024 am 09:41 AM

소셜 네트워킹과 전자상거래를 통합한 플랫폼인 Xiaohongshu는 점점 더 많은 사용자를 끌어들이고 있습니다. 일부 사용자는 Xiaohongshu와 더 나은 상호 작용 경험을 위해 여러 계정을 등록하기를 원합니다. 그렇다면 Xiaohongshu에 여러 계정을 등록하는 방법은 무엇입니까? 1. Xiaohongshu에 여러 계정을 등록하는 방법은 무엇입니까? 1. 다른 휴대폰 번호를 사용하여 등록합니다. 현재 Xiaohongshu는 주로 휴대폰 번호를 사용하여 계정을 등록합니다. 사용자들은 때때로 여러 개의 휴대폰 번호 카드를 구입하여 여러 개의 Xiaohongshu 계정을 등록하는 데 사용하려고 합니다. 그러나 이 방법에는 여러 장의 휴대폰 번호 카드를 구입하는 것이 번거롭고 비용이 많이 들기 때문에 몇 가지 제한 사항이 있습니다. 2. 이메일을 사용하여 등록하세요. 휴대폰 번호 외에도 이메일을 사용하여 Xiaohongshu 계정을 등록할 수 있습니다. 사용자는 여러 개의 이메일 주소를 준비한 후 해당 이메일 주소를 사용하여 계정을 등록할 수 있습니다. 하지만

wallpaperengine에서 다른 계정으로 로그인한 후 다른 사람의 배경화면을 다운로드하면 어떻게 해야 하나요? wallpaperengine에서 다른 계정으로 로그인한 후 다른 사람의 배경화면을 다운로드하면 어떻게 해야 하나요? Mar 19, 2024 pm 02:00 PM

귀하의 컴퓨터에서 다른 사람의 Steam 계정에 로그인하고 그 다른 사람의 계정에 우연히 배경화면 소프트웨어가 있는 경우, Steam은 자신의 계정으로 다시 전환한 후 다른 사람의 계정에 구독된 배경화면을 자동으로 다운로드합니다. 스팀 클라우드 동기화를 끄세요. 다른 계정에 로그인한 후 wallpaperengine이 다른 사람의 배경화면을 다운로드하는 경우 해결 방법 1. 자신의 Steam 계정에 로그인하고 설정에서 클라우드 동기화를 찾아 Steam Cloud 동기화를 끄세요. 2. 이전에 로그인했던 다른 사람의 Steam 계정으로 로그인하여 Wallpaper Creative Workshop을 열고 구독 콘텐츠를 찾은 다음 모든 구독을 취소하세요. (나중에 배경화면을 찾을 수 없는 경우 먼저 수집한 후 구독을 취소할 수 있습니다.) 3. 자신의 스팀으로 다시 전환합니다.

Xiaohongshu의 이전 계정에 어떻게 로그인하나요? 재연결 후 원래 번호가 분실된 경우 어떻게 해야 하나요? Xiaohongshu의 이전 계정에 어떻게 로그인하나요? 재연결 후 원래 번호가 분실된 경우 어떻게 해야 하나요? Mar 21, 2024 pm 09:41 PM

소셜 미디어의 급속한 발전으로 Xiaohongshu는 많은 젊은이들이 자신의 삶을 공유하고 신제품을 탐색할 수 있는 인기 플랫폼이 되었습니다. 사용 중에 때때로 사용자가 이전 계정에 로그인하는 데 어려움을 겪을 수 있습니다. 이 글에서는 Xiaohongshu의 기존 계정에 로그인하는 문제를 해결하는 방법과 바인딩 변경 후 원래 계정을 잃을 가능성에 대처하는 방법에 대해 자세히 설명합니다. 1. Xiaohongshu의 이전 계정에 어떻게 로그인하나요? 1. 비밀번호를 찾아 로그인하세요. 장기간 Xiaohongshu에 로그인하지 않으면 시스템에 의해 계정이 재활용될 수 있습니다. 접근 권한을 복원하려면 비밀번호를 검색하여 계정에 다시 로그인해 보세요. 작업 단계는 다음과 같습니다. (1) Xiaohongshu 앱이나 공식 웹사이트를 열고 "로그인" 버튼을 클릭합니다. (2) "비밀번호 찾기"를 선택하세요. (3) 회원가입 시 사용한 휴대폰 번호를 입력하세요.

Xiaohongshu 계정을 등록하는 방법은 무엇입니까? Xiaohongshu 계정을 등록하려면 무엇이 필요합니까? Xiaohongshu 계정을 등록하는 방법은 무엇입니까? Xiaohongshu 계정을 등록하려면 무엇이 필요합니까? Mar 22, 2024 am 10:16 AM

생활, 엔터테인먼트, 쇼핑, 공유를 통합한 소셜 플랫폼인 Xiaohongshu는 많은 젊은이들의 일상생활에서 없어서는 안 될 부분이 되었습니다. 그렇다면 Xiaohongshu 계정을 등록하는 방법은 무엇입니까? 1. Xiaohongshu 계정을 등록하는 방법은 무엇입니까? 1. Xiaohongshu 공식 웹사이트를 열거나 Xiaohongshu 앱을 다운로드하세요. 아래의 "등록" 버튼을 클릭하면 다양한 등록 방법을 선택할 수 있습니다. 현재 Xiaohongshu는 휴대폰 번호, 이메일 주소 및 제3자 계정(예: WeChat, QQ, Weibo 등) 등록을 지원합니다. 3. 관련 정보를 입력하세요. 선택한 등록 방법에 따라 해당 휴대폰 번호, 이메일 주소 또는 제3자 계정 정보를 입력하세요. 4. 비밀번호를 설정하세요. 계정을 안전하게 보호하려면 강력한 비밀번호를 설정하세요. 5. 인증을 완료합니다. 안내에 따라 휴대폰 인증 또는 이메일 인증을 완료하세요. 6. 개인을 온전케 하라

Xiaohongshu 계정을 등록하는 방법은 무엇입니까? 계정이 비정상인 경우 어떻게 복구하나요? Xiaohongshu 계정을 등록하는 방법은 무엇입니까? 계정이 비정상인 경우 어떻게 복구하나요? Mar 21, 2024 pm 04:57 PM

세계에서 가장 인기 있는 라이프스타일 공유 플랫폼 중 하나인 Xiaohongshu는 수많은 사용자를 끌어 모았습니다. 그렇다면 Xiaohongshu 계정을 등록하는 방법은 무엇입니까? 이번 글에서는 Xiaohongshu 계정 등록 과정을 자세히 소개하고, Xiaohongshu 계정 이상 현상을 복구하는 방법에 대한 질문에 답변해 드리겠습니다. 1. Xiaohongshu 계정을 등록하는 방법은 무엇입니까? 1. Xiaohongshu 앱 다운로드: 모바일 앱 스토어에서 Xiaohongshu 앱을 검색하여 다운로드하고 설치가 완료된 후 엽니다. 2. 계정 등록: Xiaohongshu 앱을 연 후 홈페이지 오른쪽 하단에 있는 '나' 버튼을 클릭한 후 '등록'을 선택하세요. 3. 등록 정보 입력: 프롬프트에 따라 휴대폰 번호, 비밀번호, 인증 코드 및 기타 등록 정보를 입력합니다. 4. 개인정보 입력: 등록이 완료되면 안내에 따라 이름, 성별, 생일 등 개인정보를 입력하세요. 5. 설정

qooapp 계정 등록 방법 qooapp 계정 등록 방법 Mar 19, 2024 pm 08:58 PM

qooapp은 많은 게임을 다운로드할 수 있는 소프트웨어인데 계정을 등록하는 방법은 무엇입니까? 아직 패스가 없는 경우 "등록" 버튼을 클릭한 후 등록 방법을 선택해야 합니다. 이 계정 등록 방법 소개는 사용법을 설명하기에 충분합니다. 다음은 자세한 소개이므로 살펴보십시오. qooapp 계정을 등록하는 방법 답변: 등록을 클릭한 후 등록 방법을 선택하세요. 구체적인 방법: 1. 로그인 인터페이스에 들어간 후 아직 패스가 없습니까? 2. 그런 다음 필요한 로그인 방법을 선택하십시오. 3. 그 후 바로 사용하시면 됩니다. 공식 웹사이트 등록: 1. 웹사이트 https://apps.ppaooq.com/을 열고 오른쪽 상단을 클릭하여 등록합니다. 2. 등록 선택

thinkphp 프로젝트를 실행하는 방법 thinkphp 프로젝트를 실행하는 방법 Apr 09, 2024 pm 05:33 PM

ThinkPHP 프로젝트를 실행하려면 다음이 필요합니다: Composer를 설치하고, 프로젝트 디렉터리를 입력하고 php bin/console을 실행하고, 시작 페이지를 보려면 http://localhost:8000을 방문하세요.

thinkphp에는 여러 버전이 있습니다. thinkphp에는 여러 버전이 있습니다. Apr 09, 2024 pm 06:09 PM

ThinkPHP에는 다양한 PHP 버전용으로 설계된 여러 버전이 있습니다. 메이저 버전에는 3.2, 5.0, 5.1, 6.0이 포함되며, 마이너 버전은 버그를 수정하고 새로운 기능을 제공하는 데 사용됩니다. 최신 안정 버전은 ThinkPHP 6.0.16입니다. 버전을 선택할 때 PHP 버전, 기능 요구 사항 및 커뮤니티 지원을 고려하십시오. 최상의 성능과 지원을 위해서는 최신 안정 버전을 사용하는 것이 좋습니다.

See all articles